当前位置:首页 > 技术心得 > 正文内容

Word删除空格、空行、超链接宏

xjtudll15年前 (2011-04-12)技术心得13990

1、删除空格和空行
此宏的主要功能是删除空格,并将软回车替换为硬回车
Sub 删除空格和空行()
'
' 删除空格和空行 宏
'
'
   '英文单词与英文单词之间保留一个半角空格,其他的所有空格均删除
    myReplaceExecute Selection.Range, "([a-zA-Z])[^32 ^s]{1,}([a-zA-Z])", "\1^32\2", True
     '"空格"是指半角空格、全角空格及不间断空格
    myReplaceExecute Selection.Range, "([!a-zA-Z])[^32 ^s]{1,}([!a-zA-Z])", "\1\2", True
    '删除前是非字母,后是字母之间的空格
    myReplaceExecute Selection.Range, "([!a-zA-Z])[^32 ^s]{1,}([a-zA-Z])", "\1\2", True
    '删除前是字母,后是非字母之间的空格
    myReplaceExecute Selection.Range, "([a-zA-Z])[^32 ^s]{1,}([!a-zA-Z])", "\1\2", True
    '软回车替换为硬回车
    myReplaceExecute Selection.Range, "^l", "^p", True
 
End Sub
' 以下是函数,函数是为了将具体的过程封装起来,以便于方便修改。
Function myReplaceExecute(myRange As Range, myFindText As String, myReplaceText As String, myMatchWildcards As Boolean)
    With myRange.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Execute findtext:=myFindText, MatchWildcards:=myMatchWildcards, replacewith:=myReplaceText, Replace:=wdReplaceAll
    End With
End Function


2、删除超链接
此宏的主要功能是删除文档中的所有超链接
Option Explicit
Sub 删除超链接()
Dim HypCount As Integer, i As Integer
Application.ScreenUpdating = False '关闭屏幕更新
HypCount = ActiveDocument.Content.Hyperlinks.Count '取得活动文档中超链接个数
MsgBox "已删除文档中" & HypCount & "个超链接" '使用倒序法逐个删除超链接
For i = HypCount To 1 Step -1
ActiveDocument.Hyperlinks(i).Delete
Next
Application.ScreenUpdating = True '恢复屏幕更新
End Sub

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/170/

标签: Office
分享给朋友:

“Word删除空格、空行、超链接宏” 的相关文章

xcopy用法中的排除复制

利用xcopy进行排除复制 xcopy /e /s /h /exclude:uncopy.txt  mail  mail_x mail为源文件夹,mail_x为目标文件夹 uncopy.txt(所要排除的文件以及文件夹关键字)如:内容如下,表示排除文件夹或文件名中含有以下字眼的内...

PlatformIO串口无输出

PlatformIO串口无输出

问题:同样的串口打印代码,在Arduino IDE里可以正常输出,但是在PlatformIO里看不到任何输出硬件:ESP32-S3 Camera解决方法:This is because DTR and RTS both are connected to the RESET pin and GPIO...

Win7 64bit安装usb blaster驱动

Win7 64bit安装usb blaster驱动

前面我就不讲了,直接到驱动搜索这一步。如下: 选择第二项“浏览计算机以查找驱动程序软件”; 关键步骤到了,很容易出错,导致无法安装成功 在下图中一定要将驱动程序位置设置为 “D:\altera\90\quartus\drivers\usb-blaster...

远程桌面事件ID20499,没有明显的问题

问题:收到ID为20499的TerminalServices-RemoteConnectionManager警告事件,错误是:对于用户管理员来说,远程桌面服务花费的时间太长,无法从服务器\ server.domain.home加载用户配置。但是,找不到任何问题解决办法:在注册表编辑器中,找到并单击以...

ReportViewer(RDLC报表)打印很多空白页

ReportViewer(RDLC报表)打印很多空白页

问题: RDLC报表打印的时候,会多出空白页。 一页有内容,一页空白。然后有内容,然后继续空白。交替出现空白。 原因: 报表的宽度+左边距+右边距 > 纸张宽度 参考资料: https://blog.csdn.net/u012293369/article/details/78885091 解决...

Altium原理图update到PCB时某些元件老是自动先删除后添加

Altium原理图update到PCB时某些元件老是自动先删除后添加

现象:从原理图update到PCB时,明明原理图没有变更,但是某些元件老是被自动删除,然后又自动添加进去了,于是PCB里摆好的元件又到了右下角了,导致又要重新摆放元件。 如下图所示,C1~C21先是被remove了,然后又被add了。看起来没什么大碍,但是PCB上之前被摆放好的C1~C21又被自动放...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。