wps js 复制wps样式,以及造成的系统崩溃的分析

  今天在学习wps js 样式设置。

按照wps js 的开发文档。复制样式应该使用的是 Application.OrganizerCopy 方法。这个方法的格式是:

express.OrganizerCopy(SourceDestinationNameObject)

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 = ["标题","副标题","正文","称呼","正文缩进"]这一句中把它删掉。再运行。通过了。
后来想了一下,会不会是因为公文中正文的内容比较多,而且基于正文的相关样式也比较多,复制“正文”的时候,宏编辑器去改那些东西去了?不理我了?
大概是的。
我估计它阳了。


posted @ 2022-12-18 22:16  非常超  阅读(443)  评论(0)    收藏  举报