WPS JS宏代码实现批量查找替换,让批量修改文件更快更高效

👋

function 批量查找替换通配符样式主程序(){

var 查找区域 = ActiveDocument.Content;

查找替换("查找内容","替换内容",true,查找区域,"样式")

}

function 查找替换(查找文字,替换文字,是否使用通配符,查找区域,样式)

{

(obj=>{

obj.ClearFormatting;

obj.Forward = true;

obj.Wrap = wdFindStop;

obj.MatchCase = true;

obj.MatchByte = true;

obj.MatchWildcards = 是否使用通配符;

obj.MatchWholeWord = false;

obj.Text = 查找文字;

obj.MatchFuzzy = false;

obj.Replacement.Text = 替换文字;

obj.Style = "";

obj.Highlight = wdUndefined;

(obj=>{

obj.Style = 样式;

obj.Highlight = wdUndefined;

})(obj.Replacement);

})(查找区域.Find);

查找区域.Find.Execute(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, wdReplaceAll, undefined, undefined, undefined, undefined);

}

查找替换("查找内容","替换内容",true,查找区域,"样式")

说明:

第一个参数“查找内容”改成“自己需要查找的内容”

第二个参数“替换内容”改成“自己替换内容”,

第三个参数true时表示使用通配符,false时表示不使用通配符

第四个参数 查找区域默认全文,无需修改

第五个参数"样式"修改成已经有的样式,如标题1,正文,不需要修改时,则为“”就可以

如有多个批量查找替换,可以多次复制,换行粘贴。

江苏省
浏览 8098
3
9
分享
9 +1
10
3 +1
全部评论 10
 
摩东王子
加强一下楼主的代码-分三段回复发的----后面的朋友可以学习学习参考
· 上海
回复
 
摩东王子
加强一下楼主的代码-分三段回复发的----后面的朋友可以学习学习参考 function WPS使用js宏通配符批量查找替换样式主程序(){ var 查找区域 = ActiveDocument.Content; //查找替换("城市","城市",true,查找区域,"","") 说明:不使用样式就空着就可以了 //查找替换("城市","城市",true,查找区域,"样式1","样式2") 说明:样式可自己定义,有标题或有某文字段 查找替换("城市","好地方",true,查找区域,"样式2","样式1") 查找替换("北京","上海",true,查找区域,"","") }
· 上海
回复
 
摩东王子
function 查找替换(查找文字,替换文字,是否使用通配符,查找区域,查找字体样式,替换字体样式){ (obj=>{ obj.ClearFormatting; obj.Forward = true; obj.Wrap = wdFindStop; obj.MatchCase = true; obj.MatchByte = true; obj.MatchWildcards = 是否使用通配符; obj.MatchWholeWord = false; obj.Text = 查找文字; obj.MatchFuzzy = false; obj.Replacement.Text = 替换文字;
· 上海
回复
 
摩东王子
加强一下楼主的代码 obj.Style = 查找字体样式; obj.Highlight = wdUndefined; (obj=>{ obj.Style = 替换字体样式; obj.Highlight = wdUndefined; })(obj.Replacement); })(查找区域.Find); 查找区域.Find.Execute(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, wdReplaceAll, undefined, undefined, undefined, undefined); }
· 上海
回复
 
韩宇帆
大佬好,请问如何实现批量查找并且确定整篇文档的查找个数呢?比如我要查找“一、”,遍历整个文档所有的“一、”并获取查找到的个数。我循环执行Find.Execute()去查找是不被允许的
· 浙江省
回复
 
一起向未来
会员的话可以使用这个应用:会员专享——批量工作箱——批量文本替换文本。这个代码适合经常要批量处理的文件。
· 江苏省
回复
 
123
大佬,查找区域如何设置为某个文件夹内的所有文件
· 山东省
回复
一起向未来
这个涉及到文件打开关闭操作的,也可以使用WPS提供的会员专享——批量工作箱——批量文本替换文本。这个代码适合经常要批量处理的文件。
· 江苏省
回复
 
方盛
方盛

创作者俱乐部成员

这个是干什么用,我还不太清楚?我是懵的
· 湖北省
回复
一起向未来
可以批量处理文件
· 江苏省
回复