Word非常用技巧:删除特定整行
作者:本站编辑
发布时间:2014-08-24
来源:本站原创
点击数:
简介:查找全部汉字
不包括标点符号:打开查找/替换/高级/勾选使用通配符,查找内容:“[一-﨩]”(如果是使用的是Unicode3.0
字符集的话,如果你使用的是Unicode 2.0 字符集,则为“[一-龥]”),你可以通过插入/符号/子集找一下下拉框中是否有“CJK
兼容字符”来判断你使用的是2.0 还是3. 0的,有的话你使用的就是Unicode 3.0 字符集;没有的就是Unicode 2.0
字符集。注意:插入/符号时,右下方的“来自”后必须选“Unicode( 十六进制)”,同时左上方字体选“(普通文本)”,否则就算你使用的是Unicode 3.
0 字符集,也找到不“CJK 兼容字符”这一项。
包括标点符号:打开查找/替换/高级/勾选使用通配符,查找内容:“[!^1-^255]
”,这样就能全选所有的非西文符号(即汉字加上中文标点符号等)。
用汉字作为通配符(即使用汉字表达式替换):同样的道理,也可以用“[中-国]”这样的通配符来查找部分汉字(其实就是Unicode
码位于这两个字中间的汉字)。
删除含有汉字的整行:用通配符表达式 [一-﨩]*^13
替换即可。缺点:如果一行汉字前面以其他文字开头,比如字母标点等,那么这些符号就不会被替换。
可以用下面的宏实现这个功能,只要这行含有汉字就行。把下面的程序中 [一-﨩]*^13 替换成 [a-z]*^13 就可以删除含英文的整行。
Sub 宏1()
'
' 宏1 宏
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "[一-﨩]*^13"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
While Selection.Find.Execute = True
Selection.HomeKey Unit:=wdLine
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.Delete Unit:=wdCharacter, Count:=1
Wend
End Sub