WORD中批量转换中英文标点符号.doc
《WORD中批量转换中英文标点符号.doc》由会员分享,可在线阅读,更多相关《WORD中批量转换中英文标点符号.doc(2页珍藏版)》请在冰点文库上搜索。
WORD中批量转换中英文标点符号
先记下一个东西:
全角情况下,WORD中的空格为方格形状;半角情况下,空格为小黑点形状。
打开word,"工具"→"宏"→"VisualBasic编辑器",在主窗体复制以下内容后粘贴,保存.关闭编辑器,在"工具"→"宏"→"宏"里调用.
SubToggleInterpunction()'中英文标点互换
DimChineseInterpunction()AsVariant,EnglishInterpunction()AsVariant
DimmyArray1()AsVariant,myArray2()AsVariant,strFindAsString,strRepAsString
DimmsgResultAsVbMsgBoxResult,NAsByte
'定义一个中文标点的数组对象
ChineseInterpunction=Array("、","。
",",",";",":
","?
","!
","……","—","~","(",")","《","》")
'定义一个英文标点的数组对象
EnglishInterpunction=Array(",",".",",",";",":
","?
","!
","…","-","~","(",")","<",">")
'提示用户交互的MSGBOX对话框
msgResult=MsgBox("您想中英标点互换吗?
按Y将中文标点转为英文标点,按N将英文标点转为中文标点!
",vbYesNoCancel)
SelectCasemsgResult
CasevbCancel
ExitSub'如果用户选择了取消按钮,则退出程序运行
CasevbYes'如果用户选择了YES,则将中文标点转换为英文标点
myArray1=ChineseInterpunction
myArray2=EnglishInterpunction
strFind="“(*)”"
strRep="""\1"""
CasevbNo'如果用户选择了NO,则将英文标点转换为中文标点
myArray1=EnglishInterpunction
myArray2=ChineseInterpunction
strFind="""(*)"""
strRep="“\1”"
EndSelect
Application.ScreenUpdating=False'关闭屏幕更新
ForN=0ToUBound(ChineseInterpunction)'从数组的下标到上标间作一个循环
WithActiveDocument.Content.Find
.ClearFormatting'不限定查找格式
.MatchWildcards=False'不使用通配符
'查找相应的英文标点,替换为对应的中文标点
.Executefindtext:
=myArray1(N),replacewith:
=myArray2(N),Replace:
=wdReplaceAll
EndWith
Next
WithActiveDocument.Content.Find
.ClearFormatting'不限定查找格式
.MatchWildcards=True'使用通配符
.Executefindtext:
=strFind,replacewith:
=strRep,Replace:
=wdReplaceAll
EndWith
Application.ScreenUpdating=True'恢复屏幕更新
EndSub