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。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红狐九尾

你的鼓励是我持续创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值