参考资料:1、查找/替换所有标点符号;在Word中无法实现一次性查找所有标点符号,所以需要只能一个一个的将半角标点替换为全角标点,英文常用标点符号一共17个,因此最多替17次就可以完成。中文标点符号范围(非全部):"。" "," ";" ":" "?" "!" "……" "—" "~" "〔" "〕" "《" "》" "‘" "’" "“" "”"共17个英文标点符号范围(非全部),对应中文标点符号:"." "," ";" ":" "?" "!" "…" "-" "~" "(" ")" "<" ">" "'" "'" """" """"最后四个相当于' ' " "2、将半角变为全角;将所有文档全部转换为全角,Ctrl+A全选文档,选择菜单中的<格式>,<更改大小写>,选中<全角>,即将所选中的半角字符转换为全角。再次a-z, A-Z转为半角,需要26*2=52次=====================================上述两法比较复杂,如果需要一次性转换,可以使用Word中的宏工具来实现,如果需要,给我发信息,我有收集该工具。该转换工具代码如下<转自ExcelHome论坛,Word版块"守柔"版主>,可以自动添加至Word中:* +++++++++++++++++++++++++++++'* Created By I Love You_Word!@ExcelHome 2005-5-20 5:30:30'仅测试于System: Windows NT Word: 10.0 Language: 2052'^The Code CopyIn [ThisDocument-ThisDocument]^''* -----------------------------Sub ReplaceEnglishInterpunctionInChinese()'中英互译文档中将中文段落中的英文标点符号替换为中文标点符号Dim i As Paragraph, ChineseInterpunction() As Variant, EnglishInterpunction() As VariantDim MyRange As Range, N As Byte'定义一个中文标点的数组对象ChineseInterpunction = Array("。", ",", ";", ":", "?", "!", "……", "—", "~", "〔", "〕", "《", "》", "‘", "’", "“", "”")'定义一个英文标点的数组对象EnglishInterpunction = Array(".", ",", ";", ":", "?", "!", "…", "-", "~", "(", ")", "<", ">", "'", "'", """", """")On Error Resume NextApplication.ScreenUpdating = False '关闭屏幕更新For Each i In ThisDocument.Paragraphs '遍历文档每个段落If Asc(i.Range) < 0 Then '如果段落首个字符为汉字(汉字字符的ASC<0)'定义一个RANGE对象For N = 0 To 13 '进行14次循环Set MyRange = i.Range '定义一个RANGE对象With MyRange.Find '查找.ClearFormatting '清除查找格式'查找相应的英文标点,替换为对应的中文标点.Execute findtext:=EnglishInterpunction(N), replacewith:=ChineseInterpunction(N), Replace:=wdReplaceAllEnd WithNextEnd IfNextSelection.HomeKey wdStoryWith Selection.Find.ClearFormatting '清除查找格式.Text = """" '查找"'如果查找成功并且在中文段落中,分别将其替换为“/”While .ExecuteIf Asc(Selection.Paragraphs(1).Range) < 0 Then Selection.Text = "“"If .Execute And Asc(Selection.Paragraphs(1).Range) < 0 Then Selection.Text = "”"WendEnd WithSelection.HomeKey wdStoryWith Selection.Find.ClearFormatting '清除查找格式.Text = "'" '查找'While .Execute'如果查找成功并且在中文段落中,分别将其替换为‘/’If Asc(Selection.Paragraphs(1).Range) < 0 Then Selection.Text = "‘"If .Execute And Asc(Selection.Paragraphs(1).Range) < 0 Then Selection.Text = "’"WendEnd With'恢复屏幕更新Application.ScreenUpdating = TrueEnd Sub'----------------------Sub ReplaceInStoryChinese()'全中文段落英文标点符号替换为中文标点符号Dim i As Paragraph, ChineseInterpunction() As Variant, EnglishInterpunction() As VariantDim N As Byte'定义一个中文标点的数组对象ChineseInterpunction = Array("。", ",", ";", ":", "?", "!", "……", "—", "~", "〔", "〕", "《", "》", "‘", "’", "“", "”")'定义一个英文标点的数组对象EnglishInterpunction = Array(".", ",", ";", ":", "?", "!", "…", "-", "~", "(", ")", "<", ">", "'", "'", """", """")On Error Resume NextApplication.ScreenUpdating = False '关闭屏幕更新With ThisDocument.Content.FindFor N = 0 To 13 '进行14次循环.ClearFormatting '清除查找格式'查找相应的英文标点,替换为对应的中文标点.Execute findtext:=EnglishInterpunction(N), replacewith:=ChineseInterpunction(N), Replace:=wdReplaceAllNextEnd WithSelection.HomeKey wdStory '移到文档首With Selection.Find.ClearFormatting '清除查找格式.Text = """" '查找"'如果查找成功并且在中文段落中,分别将其替换为“/”While .Execute: Selection.Text = "“".Execute: Selection.Text = "”"WendEnd WithSelection.HomeKey wdStoryWith Selection.Find.ClearFormatting '清除查找格式.Text = "'" '查找''如果查找成功并且在中文段落中,分别将其替换为‘/’While .Execute: Selection.Text = "‘".Execute: Selection.Text = "’"WendEnd With'恢复屏幕更新Application.ScreenUpdating = TrueEnd Sub'----------------------Sub ReplaceChineseInterpunctionInEnglish()'全中文标点符号替换为英文标点符号Dim ChineseInterpunction() As Variant, EnglishInterpunction() As Variant, N As Byte'定义一个中文标点的数组对象ChineseInterpunction = Array("。", ",", ";", ":", "?", "!", "……", "—", "~", "〔", "〕", "《", "》", "‘", "’", "“", "”")'定义一个英文标点的数组对象EnglishInterpunction = Array(".", ",", ";", ":", "?", "!", "…", "-", "~", "(", ")", "<", ">", "'", "'", """", """")On Error Resume NextMsgBox UBound(EnglishInterpunction)Application.ScreenUpdating = False '关闭屏幕更新With ThisDocument.Content.FindFor N = 0 To 16 '进行14次循环.ClearFormatting '清除查找格式'查找相应的英文标点,替换为对应的中文标点.Execute findtext:=ChineseInterpunction(N), replacewith:=EnglishInterpunction(N), Replace:=wdReplaceAllNextEnd With'恢复屏幕更新Application.ScreenUpdating = TrueEnd Sub'----------------------