批量标题上移
例如,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;
ActiveWindow.Selection.Paragraphs.Item(1).OutlinePromote();
}
}
}
WdOutlineLevel 枚举
指定要应用于段落的大纲级别。
名称 | 值 | 说明 |
---|---|---|
wdOutlineLevel1 | 1 | 大纲级别 1。 |
wdOutlineLevel2 | 2 | 大纲级别 2。 |
wdOutlineLevel3 | 3 | 大纲级别 3。 |
wdOutlineLevel4 | 4 | 大纲级别 4。 |
wdOutlineLevel5 | 5 | 大纲级别 5。 |
wdOutlineLevel6 | 6 | 大纲级别 6。 |
wdOutlineLevel7 | 7 | 大纲级别 7。 |
wdOutlineLevel8 | 8 | 大纲级别 8。 |
wdOutlineLevel9 | 9 | 大纲级别 9。 |
wdOutlineLevelBodyText | 10 | 没有大纲级别。 |
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。 |