Word 录制宏解决粘贴网络上文字格式错乱
本文将利用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
----------------------------------03-07更新--------------
在复制网页上的内容到 word中时,可以在复制时的粘贴选项中选择,
,无格式粘贴,也可以完成上述功能。
Word 录制宏解决粘贴网络上文字格式错乱的更多相关文章
- 第五十六篇、OC打开本地和网络上的word、ppt、excel、text等文件
iOS打开本地和网络上的word.ppt.excel.text等文件 iOS开发过程中可能需要预览一些文件,这些文件的格式可能有word.ppt.excel等文件格式.那么系统提供两个类去预览这些文件 ...
- 安装PHP过程中,make步骤报错:(集合网络上各种解决方法)
安装PHP过程中,make步骤报错:(集合网络上各种解决方法) (1)-liconv -o sapi/fpm/php-fpm /usr/bin/ld: cannot find -liconv coll ...
- widows10 安装1803 版本后不能访问网络上的机器解决方法
安装Windows10 1803 版本后,发现网络上的机器好多不见了. 使用 ping 可以ping 通,但是访问网络共享提示下面错误. 这个原因是1803 中没有安装 SMB1.0 协议.因为 S ...
- 【转】word排版宏的使用
原文: https://blog.csdn.net/bruce_shan/article/details/73302756 -------------------------------------- ...
- C#读取网络流,读取网络上的js文件
写博客的目的就是让其他人少走弯路. C#读取网络上的流和js文件出现的问题 一开始看了今天博客园上的推荐文章,用C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),然 ...
- WORD自定义宏
自定义快捷键 折叠所有标题 Word选项—自定义功能区—自定义键盘—不在功能区内的命令—ColllapseAllHeadings 展开所有标题 Word选项—自定义功能区—自定义键盘—不在功能区内的命 ...
- 【iOS开发-从网络上获取图片尺寸】
实际开发过程中,容易碰到从网络上获取图片尺寸的场景,比如一个UIImageView要装载从网络上获取的图片,但要先设置其frame,此时又不知道图片尺寸,就要从网络上获取尺寸了.为了最好的用户体验,一 ...
- 在 Visio 中录制宏
在“开发工具”选项卡上,单击“录制宏”.(如果您看不到“开发工具”选项卡,请参阅下面的“显示‘开发工具’选项卡”.) 在“宏名”框中,键入宏名称. 在“快捷键”框中,键入与 Ctrl 键一起使用可运行 ...
- JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(三),多线程断点下载
一 前言 本篇博客是<JWebFileTrans(JDownload):一款可以从网络上下载文件的小程序>系列博客的第三篇,本篇博客的内容主要是在前两篇的基础上增加多线程的功能.简言之,本 ...
随机推荐
- iOS抗锯齿的方式
iOS开发中,有时候展示图片等内容的时候,会出现锯齿.比如笔者最近使用 iCarousel 控件的Cover flow效果来展示几幅图片时,两侧的图片出现了较为严重的锯齿,着实不好看.这里列出两个方式 ...
- php 换行 空格分割处理
<?php function parse_specification($specification){ $rt=array(); $lines=array_filter(preg_split(& ...
- ecshop被加入了黑链
朋友一个ecshop网站被攻击了,查看代码如下: <?php $password = "1";//设置密码 error_reporting(E_ERROR); header( ...
- 我的Blog开张啦,欢迎大家赏脸
Blog开张,以后会慢慢更新工作.学习遇到的问题,总结一些经验,观众老爷们多多支持!!! ^_^
- 关于androidManifest.xml的概叙以及intent-filter的详细分析
AndroidManifest.xml配置文件对于Android应用开发来说是比较细但又很重要的基础知识,本文旨在总结该配置文件中常用到的几个属性,以便日后查阅,至于那些比较细的属性,主要是平时开发比 ...
- javascript typeof 和 constructor比较
转自:http://www.cnblogs.com/hacker84/archive/2009/04/22/1441500.html http://www.cnblogs.com/siceblue/a ...
- eclipse[downloads]
下载J2EE:http://www.eclipse.org/downloads/ 下载WPT插件:http://download.eclipse.org/webtools/updates 下载TOMC ...
- Phong光照以及其他
在说光照之前,有必要先弄清法线的变换,假设Mworld 将物体的定点一一变换到世界空间,如果我们对法线实施同样的变化,,以为能将法线变换到世界空间,但世界上变换之后的法线不再与表面垂直,就像下 ...
- [经典算法] Eratosthenes筛选求质数
题目说明: 除了自身之外,无法被其它整数整除的数称之为质数,要求质数很简单,但如何快速的求出质数则一直是程式设计人员与数学家努力的课题,在这边介绍一个著名的 Eratosthenes求质数方法. 题目 ...
- ls与dir的区别
1.ls具有上色的效果,dir没有. 2.ls是unix/linux系列的命令,dir是dos/windows系列的命令.