自学内容网 自学内容网

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

批量标题上移

例如,Word文档中,有“业务场景”这个标题,需要对文档中所有的包含“业务场景”的标题级别进行整体上移一个层级,即:原来的标题2,提升为标题1;原标题3提升为标题2;以此类推。每个“业务场景”所处的标题层级不固定,可能是2,3,4,5,6,7,8,9级均存在可能性。

下面的JS代码实现了文档中批量查找“业务场景”,并提升相应标题级别的功能。

function TitleUp()
{//批量标题上移
findStr = "业务场景";
while(1)
{
ActiveWindow.Selection.Find.Forward = true; 
ActiveWindow.Selection.Find.Text = findStr;
ActiveWindow.Selection.Find.Wrap = wdFindAsk;

let re = ActiveWindow.Selection.Find.Execute(findStr, undefined, undefined, undefined, undefined, undefined, undefined, 
undefined, undefined, undefined, wdReplaceNone, undefined, undefined, undefined, undefined);
if(re == false)return;
outL = ActiveWindow.Selection.ParagraphFormat.OutlineLevel;
switch(outL){
case wdOutlineLevel2:ActiveWindow.Selection.Style = "标题 1";break;
case wdOutlineLevel3:ActiveWindow.Selection.Style = "标题 2";break;
case wdOutlineLevel4:ActiveWindow.Selection.Style = "标题 3";break;
case wdOutlineLevel5:ActiveWindow.Selection.Style = "标题 4";break;
case wdOutlineLevel6:ActiveWindow.Selection.Style = "标题 5";break;
case wdOutlineLevel7:ActiveWindow.Selection.Style = "标题 6";break;
case wdOutlineLevel8:ActiveWindow.Selection.Style = "标题 7";break;
case wdOutlineLevel9:ActiveWindow.Selection.Style = "标题 8";break;
default: break;
}

}

}

另外也可以简化成如下代码:

function TitleUP()
{//包含特定字符串的标题,批量向上提级一层。
findStr = "场景XXX";
while(1)
{
ActiveWindow.Selection.Find.Forward = true; 
ActiveWindow.Selection.Find.Text = findStr;
ActiveWindow.Selection.Find.Wrap = wdFindAsk;

let re = ActiveWindow.Selection.Find.Execute(findStr, undefined, undefined, undefined, undefined, undefined, undefined, 
undefined, undefined, undefined, wdReplaceNone, undefined, undefined, undefined, undefined);
if(re == false)return;

//大纲层级
outL = ActiveWindow.Selection.ParagraphFormat.OutlineLevel;

if(outL> wdOutlineLevel1 &&outL < wdOutlineLevelBodyText)
{//标题向上提一层
ActiveWindow.Selection.Style = -outL;
}
}

}

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。

 


原文地址:https://blog.csdn.net/qq_27866305/article/details/142787582

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!