加载中…
个人资料
langyufei
langyufei
  • 博客等级:
  • 博客积分:0
  • 博客访问:264
  • 关注人气:17
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

转,word怎样把中文标点符号替换成英文标点符号.

(2014-02-09 12:51:26)
标签:

教育

分类: 统计学

转,word怎样把中文标点符号替换成英文标点符号. 

Sub ToggleInterpunction() '中英文标点互换

Dim ChineseInterpunction() As Variant, EnglishInterpunction() As Variant

Dim myArray1() As Variant, myArray2() As Variant, strFind As String, strRep As String

Dim msgResult As VbMsgBoxResult, N As Byte

'定义一个中文标点的数组对象

ChineseInterpunction = Array("、", "。", ",", ";", ":", "?", "!", "……", "—", "~", "(", ")", "《", "》")

'定义一个英文标点的数组对象

EnglishInterpunction = Array(",", ".", ",", ";", ":", "?", "!", "…", "-", "~", "(", ")", "<", ">")

'提示用户交互的MSGBOX对话框

msgResult = MsgBox("您想中英标点互换吗?按Y将中文标点转为英文标点,按N将英文标点转为中文标点!", vbYesNoCancel)

Select Case msgResult

Case vbCancel

Exit Sub '如果用户选择了取消按钮,则退出程序运行

Case vbYes '如果用户选择了YES,则将中文标点转换为英文标点

myArray1 = ChineseInterpunction

myArray2 = EnglishInterpunction

strFind = "“(*)”"

strRep = """\1"""

Case vbNo '如果用户选择了NO,则将英文标点转换为中文标点

myArray1 = EnglishInterpunction

myArray2 = ChineseInterpunction

strFind = """(*)"""

strRep = "“\1”"

End Select

Application.ScreenUpdating = False '关闭屏幕更新

For N = 0 To UBound(ChineseInterpunction) '从数组的下标到上标间作一个循环

With ActiveDocument.Content.Find

.ClearFormatting '不限定查找格式

.MatchWildcards = False '不使用通配符

'查找相应的英文标点,替换为对应的中文标点

.Execute findtext:=myArray1(N), replacewith:=myArray2(N), Replace:=wdReplaceAll

End With

Next

With ActiveDocument.Content.Find

.ClearFormatting '不限定查找格式

.MatchWildcards = True '使用通配符

.Execute findtext:=strFind, replacewith:=strRep, Replace:=wdReplaceAll

End With

Application.ScreenUpdating = True '恢复屏幕更新

End Sub


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有