今天在学习wps js 样式设置。
按照wps js 的开发文档。复制样式应该使用的是 Application.OrganizerCopy 方法。这个方法的格式是:
express.OrganizerCopy(Source, Destination, Name, Object)
express 一个代表 Application 对象的变量。
参数
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
Source | 必选 | String | 含有要复制的条目的文档或模板的名称。 |
Destination | 必选 | String | 要向其复制条目的文档或模板的名称。 |
Name | 必选 | String | 要复制的“自动图文集”词条、工具栏、样式或宏的名称。 |
Object | 必选 | WdOrganizerObject | 要复制的项目的类型。 |
WdOrganizerObject 枚举
指定删除、复制或重命名操作所使用的对象的类型。
名称 | 值 | 说明 |
---|---|---|
wdOrganizerObjectAutoText | 1 | 自动图文集项。 |
wdOrganizerObjectCommandBars | 2 | 命令栏项。 |
wdOrganizerObjectProjectItems | 3 | 方案项。 |
wdOrganizerObjectStyles | 0 | 样式项。 |
但貌似没有什么作用,至少目前我还没有找到错误原因和解决办法。我使用了另一个方法来进行复制。
1 function UserForm1_CommandButton3_Click() 2 { 3 let mystyles_name = ["标题","副标题","正文","称呼","正文缩进"] 4 for (i=0; i<mystyles_name.length; i++){ 5 mystynum = mystyles_name[i] 6 ActiveDocument.Styles.Item(mystynum).Font = Application.Documents.Item("十一.docm").Styles.Item(mystynum).Font; 7 ActiveDocument.Styles.Item(mystynum).ParagraphFormat = Application.Documents.Item("十一.docm").Styles.Item(mystynum).ParagraphFormat; 8 msty = "标题 " + (i +1); 9 10 ActiveDocument.Styles.Item(msty).Font = Application.Documents.Item("十一.docm").Styles.Item(msty).Font; 11 ActiveDocument.Styles.Item(msty).ParagraphFormat = Application.Documents.Item("十一.docm").Styles.Item(msty).ParagraphFormat; 12 } 13 alert("样式设置完成"); 14 }
运行后发现,wps office 系统假死,不动了!!
反复研究,并加了断点分析后,发现在复制”正文"的段落样式格式这一句:
ActiveDocument.Styles.Item(mystynum).ParagraphFormat = Application.Documents.Item("十一.docm").Styles.Item(mystynum).ParagraphFormat;
挂掉了。
把里面的mystynum改成”正文",在立即窗口测试,同样挂掉,系统假死了。一直转圈。
然后把”正文"这个样式,在
let mystyles_name = ["标题","副标题","正文","称呼","正文缩进"]这一句中把它删掉。再运行。通过了。
后来想了一下,会不会是因为公文中正文的内容比较多,而且基于正文的相关样式也比较多,复制“正文”的时候,宏编辑器去改那些东西去了?不理我了?
大概是的。
我估计它阳了。
标签:必选,样式,正文,js,复制,wps From: https://www.cnblogs.com/lcxdc/p/16991079.html