WPS拼音指南乱用;切换域代码乱用

先上图;

看到上面这个图

第一个想到的是,拼音填空可用在word中自由;

第二个想到的是,中文,拼音,英语,可用三合一行显示了。记住是三合一行,和三行还是有区别的,三行的意思是,独立三行,对齐,删除都是独立的,拼音指南是二合一行;

第三个想到的是三合一行可用,四合一,5合1,N合1,都没问题,关键是在WPS word中(测试过Ms365 word 不支持3合1)

这个对于选词填拼音啥的,还是挺有用的;其他应用正在想

下面是小程序中的源码

n2one(){// 多合一
  let app=this
  var result ='ok'
  //显示的内容,可以用参数凭接 ws1 最底下,以此网上
  var ws1=['a1b','中1国1','a3','9m4','1d5']
  var ws2=['a2b','中2国1','a3','8m4','2d5']
  var ws3=['a3b','中3国1','a3','7m4','3d5']
  var ws4=['a4b','中4国1','a3','6m4','4d5']
  var ws5=['a5b','中5国1','a3','5m4','4d5']
  var wshow=[ws1,ws2,ws3,ws4,ws5]
  var jsf1={dfont:'"Arial"',//正文字体,有引号注意,其实就是a1d的字体,只有第一个有用
  color:'"FF0033"',//正文颜色,有引号注意,默认黑色,颜色只有一个地方设置
  dsize:'"120"',//24等于12磅字,除以2,有引号 其实就是a1d的字体大小,只有第一个有用
}
var jsf2={
color:'"FF6600"',//颜色,有引号注意
ufont:'宋体',//音标字体,没引号
usize:'hps100',//20磅
uhigh:'up 59',//11表示24/2-1,距离是0,这个24是downword的尺寸,如果是40,那么要填写19,这里24就是jsf1里的24
//59表示120/2-1,距离是0,这个120是downword的尺寸,如果是40,那么要填写19,这里120就是jsf1里的120
}
var jsf3={
color:'"FFFF00"',//颜色,有引号注意
ufont:'华文行楷',//音标字体,没引号
usize:'hps100',//12磅
uhigh:'up 49',//11表示24/2-1,距离是0,这个24是downword的尺寸,如果是40,那么要填写19
}
var jsf4={
color:'"00FF00"',//颜色,有引号注意
ufont:'华文彩云',//音标字体,没引号
usize:'hps100',//12磅
uhigh:'up 49',//11表示24/2-1,距离是0,这个24是downword的尺寸,如果是40,那么要填写19
}
var jsf5={
color:'"33FFFF"',//颜色,有引号注意
ufont:'Arial Unicode MS',//音标字体,没引号
usize:'hps100',//12磅
uhigh:'up 49',//11表示24/2-1,距离是0,这个24是downword的尺寸,如果是40,那么要填写19
}
var jshow=[jsf1,jsf2,jsf3,jsf4,jsf5]
//console.log(jshow,jshow[1].dfont)
  let bk4='    '
      //wordtemplatee=<?xml 有空格是不行的
      let wordtemplate='<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?mso-application progid="Word.Document"?> <w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"> <w:docPr>  <w:view w:val="print"/> <w:zoom w:percent="120"/>     </w:docPr> <w:body> <w:p> <w:r>  </w:r> </w:p>   </w:body>    <w:sectPr>    </w:sectPr>    </w:wordDocument>'
      let wpbegin='<w:p>'
      let wpend='</w:p>'
      let bodyend='</w:body>'
      let outstr=''
      // easyword 表示普通的文字,不用多合一
      let easyword='<w:r><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial" w:hint="fareast"/><w:color w:val="FF0000"/><w:sz w:val="24"/><w:sz-cs w:val="24"/><w:lang w:val="EN-US" w:fareast="ZH-CN"/></w:rPr><w:t>easyword</w:t></w:r>'
      let copyword=wordtemplate
      let bl=copyword.indexOf(wpbegin)
     let bodybegin=copyword.slice(0,bl)
     let el=copyword.indexOf(bodyend)
     bodyend=copyword.slice(el)
// c1str 把upword 替换成c1str就是递归,把\ 改成\\  原字符串 <w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="begin"/></w:r><w:r><w:rPr></w:rPr><w:instrText> EQ \* jc0 \* &quot;Font:Arial Unicode MS&quot; \* hps40 \o \ad(\s \up 11(</w:instrText></w:r><w:r><w:rPr><w:color w:val="FF0000"/></w:rPr><w:instrText>upword)</w:instrText></w:r><w:r><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial" w:hint="default"/><w:sz w:val="24"/><w:sz-cs w:val="24"/><w:color w:val="000000"/></w:rPr><w:instrText>,downword)</w:instrText></w:r><w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="end"/></w:r>
 let c1str='<w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="begin"/></w:r><w:r><w:rPr></w:rPr><w:instrText> EQ \\* jc0 \\* &quot;Font:Arial Unicode MSx&quot; \\* hps40x \\o \\ad(\\s \\up 11x(</w:instrText></w:r><w:r><w:rPr><w:color w:val="FF0000x"/></w:rPr><w:instrText>upword)</w:instrText></w:r><w:r><w:rPr><w:rFonts w:ascii="Arialx" w:h-ansi="Arialx" w:cs="Arialx" w:hint="default"/><w:sz w:val="24x"/><w:sz-cs w:val="24x"/><w:color w:val="000000x"/></w:rPr><w:instrText>,downword)</w:instrText></w:r><w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="end"/></w:r>'
// ccut 只有最下面这个单词的格式才需要再 ccut里边设置,其他都删除;
 let ccut='<w:rFonts w:ascii="Arialx" w:h-ansi="Arialx" w:cs="Arialx" w:hint="default"/><w:sz w:val="24x"/><w:sz-cs w:val="24x"/><w:color w:val="000000x"/>'
 let showall=''
 let l=0
    for(let j=0;j<wshow[0].length;j++)
    {
      outstr=c1str
      for(let i=0;i<wshow.length-2;i++)
      {
       
        if(i==0){
           // 设置a1d的格式
        outstr=app.replaceall(outstr,'"000000x"',jshow[0].color) 
        outstr=app.replaceall(outstr,'"Arialx"',jshow[0].dfont) 
        outstr=app.replaceall(outstr,'"24x"',jshow[0].dsize) 
          // 设置a2d的格式
        outstr=app.replaceall(outstr,'"FF0000x"',jshow[1].color) 
        outstr=app.replaceall(outstr,'Arial Unicode MSx',jshow[1].ufont) 
        outstr=app.replaceall(outstr,'hps40x',jshow[1].usize) 
        outstr=app.replaceall(outstr,'up 11x',jshow[1].uhigh) 
        }
        else
        {
          // 设置i+2的格式,最后第二个已经设置完格式
          outstr=app.replaceall(outstr,'"FF0000x"',jshow[i+1].color) 
          outstr=app.replaceall(outstr,'Arial Unicode MSx',jshow[i+1].ufont) 
          outstr=app.replaceall(outstr,'hps40x',jshow[i+1].usize) 
          outstr=app.replaceall(outstr,'up 11x',jshow[i+1].uhigh) 
        }
        outstr=app.replaceall(outstr,'downword',wshow[i][j])  //a1d 
        outstr=app.replaceall(outstr,'upword',c1str) 
      }
     
      l=wshow.length   
     // console.log(l0,l0-1,l0-2)
        // 设置最后一个格式
     outstr=app.replaceall(outstr,'"FF0000x"',jshow[l-1].color) 
     outstr=app.replaceall(outstr,'Arial Unicode MSx',jshow[l-1].ufont) 
     outstr=app.replaceall(outstr,'hps40x',jshow[l-1].usize) 
     outstr=app.replaceall(outstr,'up 11x',jshow[l-1].uhigh) 
       // 最后2个替换
      outstr=app.replaceall(outstr,'upword',wshow[l-1][j])   //a5d
      outstr=app.replaceall(outstr,'downword',wshow[l-2][j])     //a4d
      showall=showall+outstr+easyword.replace('easyword',bk4)
   }
   showall=app.replaceall(showall,ccut,'') 
   outstr=bodybegin+wpbegin+showall+wpend+bodyend
  app.data.outStr=outstr;//把数据传递出去剪贴板数据
  app.setData({
    result:'ok' 
     });
  result;//不要修改,这里就是反馈函数的值给外面
  wx.setClipboardData({
    data:app.data.outStr,
    success: function(res) {
    },
    fail: function(res) {
    }
  });  
  

},

结构是产生一个word

下面是一个xml,5列,另存为abc.xml 然后用wps打开

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?mso-application progid="Word.Document"?> <w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"> <w:docPr>  <w:view w:val="print"/> <w:zoom w:percent="120"/>     </w:docPr> <w:body> <w:p><w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="begin"/></w:r><w:r><w:rPr></w:rPr><w:instrText> EQ \* jc0 \* &quot;Font:宋体&quot; \* hps100 \o \ad(\s \up 59(</w:instrText></w:r><w:r><w:rPr><w:color w:val="FF6600"/></w:rPr><w:instrText><w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="begin"/></w:r><w:r><w:rPr></w:rPr><w:instrText> EQ \* jc0 \* &quot;Font:华文行楷&quot; \* hps100 \o \ad(\s \up 49(</w:instrText></w:r><w:r><w:rPr><w:color w:val="FFFF00"/></w:rPr><w:instrText><w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="begin"/></w:r><w:r><w:rPr></w:rPr><w:instrText> EQ \* jc0 \* &quot;Font:华文彩云&quot; \* hps100 \o \ad(\s \up 49(</w:instrText></w:r><w:r><w:rPr><w:color w:val="00FF00"/></w:rPr><w:instrText><w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="begin"/></w:r><w:r><w:rPr></w:rPr><w:instrText> EQ \* jc0 \* &quot;Font:Arial Unicode MS&quot; \* hps100 \o \ad(\s \up 49(</w:instrText></w:r><w:r><w:rPr><w:color w:val="33FFFF"/></w:rPr><w:instrText>a5b)</w:instrText></w:r><w:r><w:rPr></w:rPr><w:instrText>,a4b)</w:instrText></w:r><w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="end"/></w:r>)</w:instrText></w:r><w:r><w:rPr></w:rPr><w:instrText>,a3b)</w:instrText></w:r><w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="end"/></w:r>)</w:instrText></w:r><w:r><w:rPr></w:rPr><w:instrText>,a2b)</w:instrText></w:r><w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="end"/></w:r>)</w:instrText></w:r><w:r><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial" w:hint="default"/><w:sz w:val="120"/><w:sz-cs w:val="120"/><w:color w:val="FF0033"/></w:rPr><w:instrText>,a1b)</w:instrText></w:r><w:r><w:rPr></w:rPr><w:fldChar w:fldCharType="end"/></w:r><w:r><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial" w:hint="fareast"/><w:color w:val="FF0000"/><w:sz w:val="24"/><w:sz-cs w:val="24"/><w:lang w:val="EN-US" w:fareast="ZH-CN"/></w:rPr><w:t>    </w:t></w:r></w:p></w:body>    <w:sectPr>    </w:sectPr>    </w:wordDocument>

这个xml的效果

5个颜色,字体;大小也可调整; 

<think>好的,我需要帮助用户了解如何在WPS中使用代码功能。首先,我得回忆一下之前提供的引用内容,特别是引用[1]、[4]和[5],这些可能和代码相关。 用户的问题是关于WPS代码的使用方法和示例。根据引用[1],代码类似于Excel中的公式,用花括号包裹,可以通过Alt+F9切换显示。引用[5]提到了字符格式的应用,比如MergeFormat和CharFormat,这可能涉及到代码中的格式控制。而引用[4]虽然主要关于页眉页脚的操作,但使用了JSA宏,可能和代码不同,不过可以注意区分。 首先,我需要解释什么是代码,基本使用方法,比如插入方法、切换显示。然后给出一些常见示例,比如页码、日期、公式、交叉引用等。可能需要包括代码的语法结构,比如名称、开关参数。同时,注意格式问题,确保使用$...$和$$...$$的正确LaTeX格式,但问题中似乎没有数学表达式,所以可能不需要太多数学内容,但如果有示例中的公式,需要处理。 另外,用户可能需要知道如何手动插入代码,比如通过插入菜单或快捷键Ctrl+F9,以及如何更新。引用[1]提到Alt+F9切换代码和结果,这点很重要。引用[5]中的格式开关,比如\* CharFormat,应该在示例中说明,比如如何控制格式。 需要检查是否有遗漏的步骤,比如不同的WPS版本是否有差异,或者常见问题,比如代码不更新怎么办。可能需要建议用户如何更新(F9)以及处理锁定的情况(Ctrl+Shift+F11)。 最后,生成相关问题,帮助用户进一步学习,比如高级应用、与宏的区别、常见问题解决等。</think>以下是对WPS代码功能的详细说明及操作指南: ### 一、代码基础概念 代码WPS中通过特殊指令实现动态内容的核心技术,其语法结构为: $${ 名 [参数] [开关] }$$ 通过Alt+F9可在代码与结果间切换[^1],类似Excel公式的"编辑模式"与"显示模式"转换[^1]。 ### 二、基础操作方法 1. **手动插入** - 快捷键:Ctrl+F9 - 菜单路径:插入 → → 选择类型 - 示例插入日期: ```javascript { DATE \@ "yyyy年M月d日" \* MERGEFORMAT } ``` 2. **常用类型示例** | 类型 | 代码示例 | 显示效果 | |--------------|-----------------------------------|----------------------| | 自动编号 | `{ SEQ 图表 \* ARABIC }` | 连续数字序列 | | 交叉引用 | `{ REF _Ref123456789 \h }` | 链接到书签位置 | | 数学公式 | `{ EQ \F(1,2) }` | ½ | | 条件判断 | `{ IF { PAGE } > 1 "续页" "" }` | 第二页起显示"续页" | 3. **格式控制开关** - `\* CharFormat`:继承首个字符格式 ```javascript { TIME \@ "HH:mm" \* CharFormat } // 应用"T"字符格式 ``` - `\* MERGEFORMAT`:保持原格式(推荐强制格式保留时使用) ### 三、进阶应用场景 1. **页眉页脚动态内容**[^4] ```javascript { IF { PAGE } % 2 = 0 "偶数页" "奇数页" \* MERGEFORMAT } ``` 结合JSA宏可实现更复杂的页眉控制,但代码本身不依赖宏[^4] 2. **文档自动化** ```javascript { DOCPROPERTY "Company" \* Upper } { INCLUDETEXT "C:\\模板\\免责声明.docx" } ``` 3. **数学公式排版**[^5] ```javascript { EQ \B\BC\[ (a+b) = \R(2,\F(c,d)) ) } ``` ### 四、故障排查技巧 1. **强制更新**:全选文档按F9 2. **解除锁定**:Ctrl+Shift+F11 3. **永久转换结果**:Ctrl+Shift+F9 4. 代码显示异常时,检查:花括号完整性、空格符位置、开关兼容性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值