Word 录制宏解决粘贴网络上文字格式错乱

    本文将利用Word中的录制宏来解决 复制粘贴网络上文字格式错乱的问题。

    本文宏代码取自 : 知乎 李文超,感谢他的提供。

Technorati 标签: Word宏 格式修正

    1. 创建Word宏

        新建一个word文件,点击 视图 ---> 宏 ---> 录制宏,出现如下的设置框。

       

        设置完后,点击宏-->结束录制,然后点击查宏,选中编辑框,弹出宏代码编辑页面,将 文章结尾处的宏代码复制到里面去,最终显示结果如下:

       

     2. 使用宏

        在使用时,新建一个空白word文件,然后,将网页上面的文字,随便复制一段文字过来,然后选择 视图---> 宏 ---> 运行,就可以格式化从网络上的文字格式。

        示例代码只是最简单的设置,用户可以根据自己的需要来定制化特殊的设置。

Sub formatInternetWord()
    ‘Author:李文超
    ‘网上的文章复制粘贴为我所用,你会发现很多文稿多出了很多空格、空行,
    ‘有的是用手动换行符代替了段落标记,致使段首不能空两格显示。
    ‘这些问题既影响美观又占用纸张空间(打印时),
    ‘如果逐个删除那劳动量实在是太大了,
    ‘本人在实际操作中一开始用的也是笨功夫,
    ‘后来悟到完全可以录制宏来替换整理,省却诸多麻烦。
    ‘将^l替换为为^P.软回车替换为硬回车

    Selection.Find.ClearFormatting ‘清除查找框格式
    Selection.Find.Replacement.ClearFormatting ‘清除替换框格式
    With Selection.Find
        .Text = "^l"
        .Replacement.Text = "^p"
        .Forward = True ‘向后搜索
        .Wrap = wdFindContinue
        .Format = False ‘ 不清除格式
        .MatchCase = False ‘ 匹配大小写
        .MatchWholeWord = False ‘ 整词匹配
        .MatchByte = False ‘ 全角
        .MatchWildcards = False ‘不勾选"使用通配符"
        .MatchSoundsLike = False ‘ 不匹配 同音词
        .MatchAllWordForms = False ‘ 不查找单词的所有形式
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    ‘将^p^p替换为^p
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^p^p"
        .Replacement.Text = "^p"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    ‘将空格替换为正确的格式
     Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = " "
        .Replacement.Text = " "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    ‘设置页面布局
    With ActiveDocument.PageSetup
        .Orientation = wdOrientLandscape ‘页面方向为横向
        .TopMargin = CentimetersToPoints(1.27) ‘上边距
        .BottomMargin = CentimetersToPoints(1.27) ‘下边距
        .LeftMargin = CentimetersToPoints(1.27) ‘左边距
        .RightMargin = CentimetersToPoints(1.27) ‘右边距
        .Gutter = CentimetersToPoints(0) ‘装订线0cm
        .HeaderDistance = CentimetersToPoints(1.5) ‘页眉
        .FooterDistance = CentimetersToPoints(1.75) ‘页脚
        .PageWidth = CentimetersToPoints(25) ‘纸张宽
        .PageHeight = CentimetersToPoints(35.4) ‘纸张高
        .SectionStart = wdSectionNewPage ‘节的起始位置:新建页
        .OddAndEvenPagesHeaderFooter = False ‘不勾选"奇偶页不同"
        .DifferentFirstPageHeaderFooter = False ‘不勾选"首页不同"
        .VerticalAlignment = wdAlignVerticalTop ‘页面垂直对齐方式为"顶端对齐"
        .SuppressEndnotes = False ‘不隐藏尾注
        .MirrorMargins = False ‘不设置首页的内外边距
        .BookFoldRevPrinting = False ‘不设置手动双面打印
        .BookFoldPrintingSheets = 1 ‘默认打印份数为1
        .GutterPos = wdGutterPosLeft ‘装订线位于左侧
        .LayoutMode = wdLayoutModeLineGrid ‘版式模式为"只指定行网格"
    End With
    ‘设置段落
    With ActiveDocument.Paragraphs
        .CharacterUnitFirstLineIndent = 2
        .Alignment = wdAlignParagraphLeft   ‘居左对齐
        .SpaceBefore = 0 ‘段前间距
        .SpaceAfter = 0 ‘段后间距
        .LineSpacingRule = wdLineSpace1pt ‘单倍行距,可以自定义数值
        .WidowControl = -1 ‘孤行控制,可以控制tab键不必过长
        .KeepWithNext = 0 ‘与下段同页
        .KeepTogether = 0 ‘段中不分页
        .PageBreakBefore = 0 ‘段前分页
    End With
    ‘删除所有超链接书签和连接
        With ActiveDocument
                Dim myLink As Hyperlink
                Dim myBookmark As Bookmark
                Dim myField As Field
                For Each myLink In .Hyperlinks
                        ‘myLink.Delete ‘删除所有超链接
                Next myLink
                For Each myBookmark In .Bookmarks
                        myBookmark.Delete ‘‘删除"链接"中的"书签"(灰色中括号标记)
                Next myBookmark
                For Each myField In .Fields
                        ‘myField.Unlink ‘删除所有烦人链接
                Next myField
        End With
        ActiveDocument.Save

End Sub
时间: 2024-08-04 04:55:45

Word 录制宏解决粘贴网络上文字格式错乱的相关文章

桌面支持--excel2010不能录制宏

2015.06.30 问题描述:excel2010不能录制宏 解决办法:可以修复安装一下Office,选择添加删除组件,然后在有个叫做Office共享功能 组件包下面可以看到这个"Visual Basic for Application".选中它进行安装即可

widows10 安装1803 版本后不能访问网络上的机器解决方法

安装Windows10 1803 版本后,发现网络上的机器好多不见了. 使用 ping  可以ping 通,但是访问网络共享提示下面错误. 这个原因是1803 中没有安装 SMB1.0 协议.因为 SMB1.0协议比较早,有安全问题, windows 10 在之后的版本中都不默认支持了. 如果想回避这个问题,可以到 Windows Features 中自己安装 SMB1.0 ,安装后重启就可以了. 原文地址:https://www.cnblogs.com/xixiuling/p/10161019

ios学习(从网络上获取数据)

从网络上获取数据: 1.从网络上获取数据,采用如下这种方式会带来主线成阻塞现象,主线成主要是负责的是ui的交互(用户输入指令或数据,系统给一个反馈) 会进一步让ui停止交互 1)首先给我们将要下载的图片设置好位置 UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"地址"]]]; UIImageView *imageView = [[UIImageVie

word设置无格式粘贴快捷方式

下面,给出在word中设置无格式粘贴的快捷方式,以图例方式给出 第1步:任意新建或者打开一个word文档 第2步:在打开的word文档中,利用组合键"Alt+F11"打开Visual Basci的编辑界面 第3步:在左上角找到Normal,右键"插入"–"模块" 第4步:在弹出的代码界面中,输入代码段: Sub 无格式粘贴() Selection.PasteSpecial Link:=False, DataType:=wdPasteText, P

在 Visio 中录制宏

在“开发工具”选项卡上,单击“录制宏”.(如果您看不到“开发工具”选项卡,请参阅下面的“显示‘开发工具’选项卡”.) 在“宏名”框中,键入宏名称. 在“快捷键”框中,键入与 Ctrl 键一起使用可运行宏的快捷键. 在“宏的存储位置”框中,单击要用来保存宏的文档. 在“说明”框中,键入宏的描述. 单击“确定”开始录制宏. 执行要包含在宏中的操作.在“开发工具”选项卡上,根据需要使用“暂停录制”. 录制宏时,可以使用鼠标单击命令和选项,也可以处理绘图中的形状和对象. 若要停止录制宏,请在“开发工具”

WORD自定义宏

自定义快捷键 折叠所有标题 Word选项—自定义功能区—自定义键盘—不在功能区内的命令—ColllapseAllHeadings 展开所有标题 Word选项—自定义功能区—自定义键盘—不在功能区内的命令—ExpandAllHeadings 全屏快捷键 Alt+V+U, esc退出 可通过录制宏设定F11全屏 Word自定义宏 Sub 标题1() Selection.Style = ActiveDocument.Styles("标题 1") End Sub Sub 标题2() Selec

VXLAN, 一种叠加在L3网络上的L2网络

这几天看了下RFC7348,顺便翻译了一下,根据自己理解做了注解 虚拟化及租户隔离 服务器虚拟化增加了对物理网络基础设施的需求,服务器有多个虚机,要求交换机支持更大的MAC地址表. 在数据中心场景下,虚机按照VLAN分组,可能需要成千上万的VLAN,以便用来给为按照VLAN标签分组的虚机分隔流量.但是当前VLAN机制限制最多只能有4096个VLAN. 数据中心需要支持多个租户,每个租户需要分隔的网络域,单独实现分离的网络域不经济.管理员一般基于共享网络进行隔离.各租户独立进行VM的MAC和VLA

如何解决能连接上无线路由器但PING不同无法上网的问题

如何解决能连接上无线路由器,但PING不同无法上网的问题 问题: 笔记本电脑能连接上无线路由器,但PING不同,无法上网: 网络信号2格或者3格,网络信号时好时坏,断断续续(注意:满格是5格) 基本信息: 无线路由器:TP-LINK TL-WR885N 450M: 笔记本电脑系统:Windows 7旗舰店, Service Pack 1 原理: 固定IP地址,无线通信信道,防止无线网络信号不好.信号丢失的时候,又再次分配,重新连接,可以避免耗费网络资源,造成的网络连接延时. 解决方法: 第一步:

[转]通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题

转:http://blog.csdn.net/zhengwish/article/details/51602059 通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题: 用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_size这个参数,否则会中断在nginx的请求中,在php中是无法记录到访问的. 一般上传大文件流程: 首先修改php.ini文件: 参数 设置 说明 file_uploads on 是