WPS的JS宏实现某类标题批量改变级别

打印 上一主题 下一主题

主题 1690|帖子 1690|积分 5070

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
批量标题上移

例如,Word文档中,有“业务场景”这个标题,需要对文档中所有的包含“业务场景”的标题级别进行团体上移一个层级,即:原来的标题2,提升为标题1;原标题3提升为标题2;以此类推。每个“业务场景”所处的标题层级不固定,大概是2,3,4,5,6,7,8,9级均存在大概性。
下面的JS代码实现了文档中批量查找“业务场景”,并提升相应标题级别的功能。
  1. function TitleUp()
  2. {//批量标题上移
  3.         findStr = "业务场景";
  4.         while(1)
  5.         {
  6.                 ActiveWindow.Selection.Find.Forward = true;
  7.                 ActiveWindow.Selection.Find.Text = findStr;               
  8.                 ActiveWindow.Selection.Find.Wrap = wdFindAsk;
  9.        
  10.                 let re = ActiveWindow.Selection.Find.Execute(findStr, undefined, undefined, undefined, undefined, undefined, undefined,
  11.                         undefined, undefined, undefined, wdReplaceNone, undefined, undefined, undefined, undefined);
  12.                 if(re == false)return;                               
  13.                 outL = ActiveWindow.Selection.ParagraphFormat.OutlineLevel;               
  14.                 switch(outL){
  15.                         case wdOutlineLevel2:ActiveWindow.Selection.Style = "标题 1";break;
  16.                         case wdOutlineLevel3:ActiveWindow.Selection.Style = "标题 2";break;
  17.                         case wdOutlineLevel4:ActiveWindow.Selection.Style = "标题 3";break;
  18.                         case wdOutlineLevel5:ActiveWindow.Selection.Style = "标题 4";break;
  19.                         case wdOutlineLevel6:ActiveWindow.Selection.Style = "标题 5";break;
  20.                         case wdOutlineLevel7:ActiveWindow.Selection.Style = "标题 6";break;
  21.                         case wdOutlineLevel8:ActiveWindow.Selection.Style = "标题 7";break;
  22.                         case wdOutlineLevel9:ActiveWindow.Selection.Style = "标题 8";break;
  23.                         default: break;
  24.                 }                                               
  25.        
  26.         }
  27. }
复制代码
另外也可以简化成如下代码:
  1. function TitleUP()
  2. {//包含特定字符串的标题,批量向上提级一层。
  3.         findStr = "场景XXX";
  4.         while(1)
  5.         {
  6.                 ActiveWindow.Selection.Find.Forward = true;
  7.                 ActiveWindow.Selection.Find.Text = findStr;               
  8.                 ActiveWindow.Selection.Find.Wrap = wdFindAsk;
  9.        
  10.                 let re = ActiveWindow.Selection.Find.Execute(findStr, undefined, undefined, undefined, undefined, undefined, undefined,
  11.                         undefined, undefined, undefined, wdReplaceNone, undefined, undefined, undefined, undefined);
  12.                 if(re == false)return;
  13.                
  14.                 //大纲层级
  15.                 outL = ActiveWindow.Selection.ParagraphFormat.OutlineLevel;               
  16.                
  17.                 if(outL> wdOutlineLevel1 &&outL < wdOutlineLevelBodyText)
  18.                 {//标题向上提一层
  19.                         ActiveWindow.Selection.Style = -outL;
  20.                 }
  21.         }
  22. }
复制代码
WdOutlineLevel 枚举

指定要应用于段落的大纲级别。
名称值阐明wdOutlineLevel11大纲级别 1。wdOutlineLevel22大纲级别 2。wdOutlineLevel33大纲级别 3。wdOutlineLevel44大纲级别 4。wdOutlineLevel55大纲级别 5。wdOutlineLevel66大纲级别 6。wdOutlineLevel77大纲级别 7。wdOutlineLevel88大纲级别 8。wdOutlineLevel99大纲级别 9。wdOutlineLevelBodyText10没有大纲级别。 WdBuiltinStyle 枚举

指定内置的 WPS 样式。
wdStyleHeading1-2标题 1。
wdStyleHeading2-3标题 2。
wdStyleHeading3-4标题 3。
wdStyleHeading4-5标题 4。
wdStyleHeading5-6标题 5。
wdStyleHeading6-7标题 6。
wdStyleHeading7-8标题 7。
wdStyleHeading8-9标题 8。
wdStyleHeading9-10标题 9。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万万哇

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表