替换word文档中以某个固定格式开头的行。

1.        通配符方式。

比如要替换掉所有的以//DEL开头的行

 

//DEL*^13{1}

替换为什么也不输入

 ([^11^13]){1} 匹配一个换段符(^13,在文档里面是直接键入ENTER得到)或者一个段内换行符(^11,在文档里面键入SHIFT+ENTER得到)。方括号的意思是匹配方括号里面这个集合中的任意字符。“{n}”表示匹配n次,所以“{1}”就是匹配1次了。至于那个圆括号,和上面提到的圆括号的功能相同,同样我觉得这里使用是多余的。

javascript默认为贪婪匹配的。JAVA正则的最小匹配需要在后面加个?号。Word文档中的通配符是按非贪婪模式匹配的。

 

 

2.        Vba编程方式。

程序1:

Sub test()

Selection.HomeKey wdStory

With Selection.Find

   .ClearFormatting

 ' 本示例在搜索选定内容之前从查找条件中取消格式限定。

   Do While .Execute(findtext:="DEL//")

   .Parent.Bookmarks("\Line").Range.Delete ' 代表文档中的一个连续区域。每个 Range 对象由一个起始字符位置和一个终止字符位置定义。

Loop

End With

End Sub

程序2

Sub kill()

 For i = 1 To 500

 Selection.Find.Execute findtext:="DEL//", Forward:=True, Wrap:=wdFindContinue ‘如果提示符不是从文首开始查找,当查找到了文尾的是后是否继续从文首查找到提示符开始的'位置,wdfindstop。

      If Selection.Find.Found = True Then

          Selection.HomeKey

          Selection.EndKey Extend:=True

          Selection.Delete

      End If

         

         

  Next i

  End Sub

 

 

没有更多推荐了,返回首页