WORD中批量转换中英文标点符号
先记下一个东西:全角情况下,WORD中的空格为方格形状;半角情况下,空格为小
黑点形状。
打开word,"工具"→"宏"→"VisualBasic编辑器",在主窗体复制以下内容后粘贴,保存.关
闭编辑器,在"工具"→"宏"→"宏"里调用.
SubToggleInterpunction()'中英文标点互换
DimChineInterpunction()AsVariant,EnglishInterpunction()AsVariant
DimmyArray1()AsVariant,myArray2()AsVariant,strFindAsString,strRepAs
String
DimmsgResultAsVbMsgBoxResult,NAsByte
'定义一个中文标点的数组对象
ChineInterpunction=Array("、","。",",",";",":","?","!","……","—","~",
"(",")","《","》")
'定义一个英文标点的数组对象
EnglishInterpunction=Array(",",".",",",";",":","?","!","…","-","~","(",")","<",
">")
'提示用户交互的MSGBOX对话框
msgResult=MsgBox("您想中英标点互换吗?按Y将中文标点转为英文标点,按N将英
文标点转为中文标点!",vbYesNoCancel)
SelectCamsgResult
CavbCancel
ExitSub'如果用户选择了取消按钮,则退出程序运行
CavbYes'如果用户选择了YES,则将中文标点转换为英文标点
myArray1=ChineInterpunction
myArray2=EnglishInterpunction
strFind="“(*)”"
strRep="""1"""
CavbNo'如果用户选择了NO,则将英文标点转换为中文标点
myArray1=EnglishInterpunction
myArray2=ChineInterpunction
strFind="""(*)"""
strRep="“1”"
EndSelect
Updating=Fal'关闭屏幕更新
ForN=0ToUBound(ChineInterpunction)'从数组的下标到上标间作一个循环
.ClearFormatting'不限定查找格式
.MatchWildcards=Fal'不使用通配符
'查找相应的英文标点,替换为对应的中文标点
.Executefindtext:=myArray1(N),replacewith:=myArray2(N),Replace:=wdReplaceAll
EndWith
Next
.ClearFormatting'不限定查找格式
.MatchWildcards=True'使用通配符
.Executefindtext:=strFind,replacewith:=strRep,Replace:=wdReplaceAll
EndWith
Updating=True'恢复屏幕更新
EndSub
本文发布于:2022-12-27 18:39:34,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/42022.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |