一个棘手的word文本处理问题,高手来
发布网友
发布时间:2023-03-14 21:06
我来回答
共3个回答
热心网友
时间:2023-10-24 07:31
1、将word文档复制粘贴至文本文件,生成.txt文件
2、新建一个excel表,打开后,“文件-打开”,选中所有文件,找到刚才生成的.txt文件,打开。
3、选中文字区域,查找“=”,替换为“”。
4、选中文本区域,筛选-自动筛选-自定义-始于“&”,筛选出结果后,在右边空白列如C列对应以&开头的第一行输入2,第二行输入3,将3复制下拉,再在D列输入公式:=sum($c$3:c3),将该公式复制下拉,生成序列:2、5、8、11...。取消筛选,选中D列,复制,选择性粘贴-数值。清除C列内容。
5、在E列输入:=IF(LEFT(A2,1)="+",0,IF(D2<>0,0,IF(INDEX(D:D,ROW()+1,)<>0,INDEX(D:D,ROW()+1,)+1,IF(INDEX(D:D,ROW()+2,)<>0,INDEX(D:D,ROW()+2,)+1,IF(INDEX(D:D,ROW()+3,)<>0,INDEX(D:D,ROW()+3,)+1,INDEX(D:D,ROW()+4,)+1))))),将该公式复制下拉。生成值后,复制,选择性粘贴-数值。
6、选中文本区域,筛选-自动筛选-自定义-始于“+”,筛选出结果后,在右边空白列如C列第一行输入1,第2行输入3,将3复制下拉,再在D列输入公式:=sum($c$1:c1),将该公式复制下拉,生成序列:1、4、7、10...。取消筛选,选中D列,复制,选择性粘贴-数值。清除C列内容。
7、在G列输入:if(d1=0,e1,d1),将该公式复制下拉。生成值后,复制,选择性粘贴-数值
8、选中文本区域,数据-筛选-取消筛选;数据-排序-主要关键字-列G-升序。
9、复制excel文件中排序后的A列数据至文本文件.txt,再复制.txt文件中内容,粘贴至word即可。
注意:第5步的公式,取英文释义中以#打头的最多的行次为限,设置公式。如一个英文单词最多英文释义以#打头的占5行,则该IF语句嵌套的就要嵌套到ROW()+5方可。
热心网友
时间:2023-10-24 07:32
不需要VBA,只需要查找替换。
先在最后一行后面加一个空行。
查找内容:(+*)(^13*)^13(&*)^13
替换为:\1\3\2
高级选项勾选使用通配符,全部替换。
热心网友
时间:2023-10-24 07:32
tyxh0916回答很妙
如果将查找内容改成:(+*)^13(*^13)(&*^13)更好