word内置命令和VBA编写宏两种方法来实现标点符号之间的全角和半角相互转换
发布时间:2023-06-21 17:15:48
第一,使用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
猜你喜欢
- word作为我们常用的办公软件,拥有很丰富的功能,有的功能经常需要用到,不过有的功能却用的很少,还会出麻烦,比如word的审阅修订功能,有的
- 知乎:字写得丑是怎样一种体验?@知乎用户赵平:第一天家长签字,第二天孩子被罚站。不好好练字,说不定你就是段子里的那个人。井柏然因为写字清秀好
- 你有没有被这样的工作逼到头疼?1、一堆小圆球让你统一排布,或是把这些圆球换色,或是排到该有的位置上?
- 在工作中我们经常会用到点名册,在word中,是如何制作出来的呢?下面就跟小编一起看看吧。word制作点名册的步骤1.打开Excel表格,点击
- F4键在Word里面表示重复上一个操作,但对于这个快捷键,你真的会操作吗?本期Word小编与大家分享这个神奇的F4键,助你高效工作。1、批量
- 但凡能上网的电脑都有网卡,而网卡本身都有物理地址,也就是MAC地址,这个地址通常是固定的,不用改动,但如果因为个别因为需要修改,也是可以的。
- 找到word软件,并打开 点击“文件” 点击进入“页面设置”
- 在Word文档中有一个“分栏”功能,在其中我们可以将一页内容文字设置显示为两列,三列等效果。在进行设置时我们还可以点击设置栏与栏之间的间距,
- 最近,很多小伙伴在打开win10计算机运行程序时遇到了找不到文件C:\程序的问题,造成了很多问题,如何解决呢?让我们看看解决方案。windo
- 很多小伙伴在调整绝地求生分辨率的时候发现没有想要的分辨率。我该怎么办?其实我们电脑屏幕的分辨率是可以自由调节的。如果不能调整,要么显卡有问题
- 对于Word2007文档中的链接对象,用户可以根据实际需要随时断开Word文档和链接对象之间的链接。对于Word2007文档中的链接对象,用
- 我们平时在使用Word的时候可能会碰到这个问题,看到一篇Word,想要把这篇文档里的图片导出来,保存起来,可是不知道怎么操作。平时我们保存图
- Word怎么制作禁止吸烟的标志其实禁止吸烟标志的制作很简单,本文图文详解使用Word制作禁止吸烟的标志的方法。先来瞧瞧老师制作的禁止吸烟标志
- iOS 13 系统中,苹果加入了深色模式,可直接开启了苹果的“暗黑时代”,尤其是配合一些壁纸,至今都让人对这个功能爱不释手。iOS 14 中
- 无论是在撰写毕业论文还是撰写专业文案,我们都需要用到清晰明了的文档目录方便用户阅读。一个给文档生成目录的方法,希望能够帮助需要的人。今天,小
- 我经常在网上复制一些比较有用的的文字到Word文档中,在粘贴后会发现除了文字以外,还带有一些其他的格式,这是我们不需要的,那么如何将它去除呢
- Word怎么调下划线和字间距?Word是我们最常用到的办公软件之一,近期有用户在文字排版上想要调整下划线和字间距,那么应该如何操作呢?其实方
- Word2016中visio图像右键不能打开怎么办?word2016中右键乜有打开visio图像的功能,只有转换功能,该怎么办呢?下面我们就
- 图片插入Word后发现图文重叠怎么办呢?如下图,图片看不见了,今天就由小编教大家解决这个问题!图片插入Word后发现图文重叠在工具栏中找到“
- 虽说Word是一款大家时常使用的文档编辑软件,但我们在使用的过程中总会遇到一些不知道如何操作的情况,例如有的小伙伴就不清楚如何去查看文档的修