word内置命令和VBA编写宏两种方法来实现标点符号之间的全角和半角相互转换

作者&投稿:詹彼 (若有异议请与网页底部的电邮联系)
~

第一,使用word内置的全半角转换


  word中全角的标点符号占两个字节,半角的标点符号占一个字节。


  在word2010版提供了包括标点符号、字母、数字综合性的全角半角转换。单击开始——更改大小写命令下面的“半角和全角”,如下图所示:



  但此内置功能有一个局限是,如果一个文档同时有数字、字母和标点符号混合,估计用起来,就没有预期想要的效果。


  比如笔者经常需要处理网上的一些资料,往往是夹杂参合一些全角半角的标点符号,为了让整篇文档的标点符号统一为全角或者是统一为半角,就需要进行转换。


  很多朋友的第一想法就是使用word内置的功能,查找替换完成。其实这个方法也是很好的,只是相对繁琐一点。所有的标点符号差不多有27种左右,如果每种标点符号都需要处理一次,就需要进行27次查找替换。


  本文的最终目的是想介绍一个批量转换标点符号的宏来实现全半角转换。


第二,全角标点符号批量转换为半角标点符号


  操作方法如下:

  1.在word中,按ALT+F11组合键,打开VBE编辑器,单击插入——模块,在右边的代码编辑窗口复制下面的代码,并关闭VBE。

  2.回到word编辑界面,选中需要转换的区域,然后单击开发工具——宏(或者按ALT+F8键),打开“宏”对话框,选中“全角转换为半角”宏,单击“运行”命令,即可一次性将选中区域的全角标点符号批量转换为半角标点符号。



  下面是具体的VBA代码,直接复制粘贴sub 至end sub结束的所有代码。


Sub 全角转换为半角()

    '使用前需先选中要替换的区域

    Dim fullshape, halfshape As String, i As Integer '定义fullshape(全角)、halfshape(半角)为字符串型,i为整数型

    fullshape = ",。?“”‘’!:;"

    halfshape = ",.?""''!:;"

    For i = 1 To 10 '循环10次

    With Selection.Find

    .Text = Mid(fullshape, i, 1) 'mid函数:返回文本字符串中从指定位置开始的特定数目的字符,每次取一个标点符号

    .Replacement.Text = Mid(halfshape, i, 1) '将用于替换的相应位置的半角标点符号

    .Format = False '保留替换前的字符格式

    .Execute Replace:=wdReplaceAll '用半角标点替换全角标点

    End With

    Next i

    End Sub


第三,半角标点符号批量转换为全角标点符号


  操作方法如下:

  1.在word中,按ALT+F11组合键,打开VBE编辑器,单击插入——模块,在右边的代码编辑窗口复制下面的代码,并关闭VBE。

  2.回到word,按ALT+F8键,打开“宏”对话框,选中“半角标点符号转换为全角标点符号”宏,单击“运行”命令,即可一次性将所有的半角标点符号转换为全角标点符号。


Sub 半角标点符号转换为全角标点符号()

'中英互译文档中将中文段落中的英文标点符号替换为中文标点符号

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

    Dim MyRange As Range, N As Byte

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

    ChineseInterpunction = Array("。", ",", ";", ":", "?", "!", "……", "—", "~", "〔", "〕", "《", "》", "‘", "’", "“", "”")

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

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

    On Error Resume Next

    Application.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:=wdReplaceAll

                End With

            Next

        End If

    Next

    Selection.HomeKey wdStory

    With 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 = "”"

        Wend

    End With

    Selection.HomeKey wdStory

    With 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 = "’"

        Wend

    End With

    '恢复屏幕更新

    Application.ScreenUpdating = True

End Sub




发一些设计师CAD常用命令,最好是做过的回答
阵列 AR — 适合复制出比较复杂形状的图形,一般简单的可以复制命令完成的图形尽量用复制。移动 M V 由于移动命令用得比较多,原快捷键M操作起来并不便捷,建议改成左手边的V键或者左手边的其它键。旋转 RO R 有些情况下,我们需要复制并旋转一个物体,可以执行旋转命令,再在命令栏中根据提示选择复制...

那位高手告诉下Pascal语言中读程序里的各种符号和字母(单词)各代表...
ord 返回序数类的序数 outlinestyle 属性 类型 outofmemoryerror 引起 outofmemory 意外 pageindex 属性 页索引 pages 属性 页 paramcount 函数 返回在命令...randomize 函数 用一随机数初始化内置的随机数生成器 read 函数 对有格式的文件,读一文件组件到变量中;对文本文件,读一个或多个值到一个或多个变量中 ...

msdos用途,怎么进入,怎么操作?
CMD[\/A|\/U][\/Q][\/D][\/E:ON|\/E:OFF][\/F:ON|\/F:OFF][\/V:ON|\/V:OFF][[\/S][\/C|\/K]string] \/C 执行字符串指定的命令然后中止 \/K 执行字符串指定的命令但保留 \/S 在\/C或\/K后修改字符串处理(见下) \/Q 关闭回显 \/D 从注册表中停用执行AutoRun命令(见下) \/A 使向内部管道或文件命令的...

什么是CMD?
启动Windows命令解释程序一个新的实例 CMD[\/A|\/U][\/Q][\/D][\/E:ON|\/E:OFF][\/F:ON|\/F:OFF][\/V:ON|\/V:OFF][[\/S][\/C|\/K]string] \/C 执行字符串指定的命令然后中止 \/K 执行字符串指定的命令但保留 \/S 在\/C或\/K后修改字符串处理(见下) \/Q 关闭回显 \/D 从注册表中停用执行AutoRun命令(见...

请问CAD2007中都有哪些工具?能给我说说吗?
阵列AR — 适合复制出比较复杂形状的图形,一般简单的可以复制命令完成的图形尽量用复制。 移动M V 由于移动命令用得比较多,原快捷键M操作起来并不便捷,建议改成左手边的V键或者左手边的其它键。 旋转RO R 有些情况下,我们需要复制并旋转一个物体,可以执行旋转命令,再在命令栏中根据提示选择复制C就可以了。由于...

将cmd窗口最大化的热键是win+??忘了,望哪位大侠指点!
CMD[\/A|\/U][\/Q][\/D][\/E:ON|\/E:OFF][\/F:ON|\/F:OFF][\/V:ON|\/V:OFF][[\/S][\/C|\/K]string] \/C 执行字符串指定的命令然后中止 \/K 执行字符串指定的命令但保留 \/S 在\/C或\/K后修改字符串处理(见下) \/Q 关闭回显 \/D 从注册表中停用执行AutoRun命令(见下) \/A 使向内部管道或文件命令的...

在开始-运行输入cmd之后,可以输入什么,各有什么意义
gpedit.msc---组策略 sndrec32---录音机 Nslookup---IP地址侦测器 explorer---打开资源管理器 logoff---注销命令 tsshutdn---60秒倒计时关机命令 lusrmgr.msc---本机用户和组 services.msc---本地服务设置 oobe\/msoobe \/a---检查XP是否激活 notepad---打开记事本 cleanmgr---垃圾整理 net sta...

pascal的有关问题
break 命令 终止for、while、repeat循环语句 brush 属性 画刷 caption 属性 标签文字的内容 changefileext 函数 改变文件的后缀 chdir 函数 改变当前目录 checked 属性 确定复选框选中状态 chr 函数 返回指定序数的字符 closefile 命令 关闭打开的文件 color 属性 标签的颜色 columns 属性 显示的...

求pascal标准库函数大全 以及数学库函数!!谢谢!!
ord 返回序数类的序数outlinestyle 属性 类型outofmemoryerror 引起outofmemory 意外pageindex 属性 页索引 pages 属性 页paramcount 函数 返回在命令行上传递...randomize 函数 用一随机数初始化内置的随机数生成器read 函数 对有格式的文件,读一文件组件到变量中;对文本文件,读一个或多个值到一个或多个变量中...

pascal 的所有词表
ord 返回序数类的序数 outlinestyle 属性 类型 outofmemoryerror 引起 outofmemory 意外 pageindex 属性 页索引 pages 属性 页 paramcount 函数 返回在命令...randomize 函数 用一随机数初始化内置的随机数生成器 read 函数 对有格式的文件,读一文件组件到变量中;对文本文件,读一个或多个值到一个或多个变量中 ...

襄城县18982844590: Word 2007 宏怎么制作?、 -
却盾安治: 创建宏 可以使用宏记录器录制一系列操作来创建宏 (宏:可用于自动执行任务的一项或一组操作.可用 Visual Basic for Applications 编程语言录制宏.),也可以在 Visual Basic 编辑器 (Visual Basic 编辑器:一种环境,用于编写新的 Visual ...

襄城县18982844590: word里的"宏"是什么意思 -
却盾安治: 1、宏是一个批处理程序命令,正确地运用它可以提高工作效率. 2、微软的office软件运行用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力.如完成一个一打开word文件同时要打开某个文件的功能,必须要自己编写一段称之为宏的脚本. 3、具体做法是在“工具”菜单“宏”-“宏”弹出的对话框输入宏名,然后按“创建”按钮会打开visual basic编辑器,你就可以编程了,这个就是宏.

襄城县18982844590: Word中什么叫做宏?? -
却盾安治: 关于宏 如果在 Microsoft Word 中反复执行某项任务,可以使用宏自动执行该任务.宏是一系列 Word 命令和指令,这些命令和指令组合在一起,形成了一个单独的命令,以实现任务执行的自动化.以下是宏的一些典型应用:加速日常编辑和...

襄城县18982844590: word里面的“宏”命令是干什么的? -
却盾安治: 微软的office软件运行用户自己编写叫VBA的脚本来增加其灵活性,进一步扩充它的能力.如完成一个一打开word文件同时要打开某个文件的功能,必须要自己编写一段称之为宏的脚本.具体做法是在“工具”菜单“宏”-“宏”弹出的对话框输...

襄城县18982844590: 在word中如何制作宏 -
却盾安治: 宏的使用不是太广泛,也有一定的难度,有时使用它甚至可能会生成病毒. 下面依我的使用经验做一个“宏”的应用举例: 在单位里撰写各种报告中,最后都要有一个落款(即单位、时间),这种落款会经常出现和使用,因此我们可以录制一...

襄城县18982844590: 什么是宏语言? -
却盾安治: 一、宏语言的释义: 1、宏语言是一种强有力的工具语言,可以用来描述软件和解决软件移植等问题,用于书写宏指命和宏定义的表示法和规则. 2、宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的.宏语言并未在通用编程中广泛...

襄城县18982844590: word里的宏是什么
却盾安治: 宏: 是一种批次批量处里的称谓.例子有TeX语言及微软的VBA等. 1、office宏,译自英文单词Macro.宏是微软公司为其OFFICE软件包设计的一个特殊功能,软件设计者为了让人们在使用软件进行工作时,避免一再地重复相同的动作而设计...

襄城县18982844590: word中“宏”的概念?
却盾安治: 宏就是一个包含一系列命令的脚本.最常接触到的就是Office软件中的宏程序是宏?如果需要在 word 中反复进行某项工作,那就可以利用宏来自动完成这项工作.宏是一系列组合在一起的 word 命令和指令,它们形成了一个命令,以实现任务执行的自动化.您可以创建并执行宏(宏实际上就是一条自定义的命令),以替代人工进行的一系列费时而单调的重复性 word 操作,自动完成所需任务.以下是宏的一些典型应用: 加速日常编辑和格式设置组合多个命令,例如插入具有指定大小、边框、行数和列数的表格使对话框中的选项更易于访问自动执行一系列复杂的任务 word 提供了两种创建宏的途径:宏录制器和“visual basic 编辑器”.

襄城县18982844590: word中宏是什么啊? -
却盾安治: 所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能.Microsoft Office的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组...

襄城县18982844590: 在excel上什么是宏? -
却盾安治: 在Excel中,宏是一系列的操作命令的组合,可以用来帮助你解决复杂的操作过程.宏可以自己录制、可以加载宏、可以用VBA编写代码.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网