ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:848.22KB ,
资源ID:876384      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-876384.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用VBA宏提高Word操作效率文档格式.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

用VBA宏提高Word操作效率文档格式.docx

1、增加内容 & n1 & 处共 c1 &字;删除内容n2 & c2 &字。End Sub 上述代码主要是基于Word 2007对于Words集合对象的判断进行统计,宏名称“test”可以任意取;“一-龥”表示所有中文汉字。 代码检查无误之后,单击工具栏上的“保存”按钮执行保存操作,返回Word窗口之后,按下A l t+F8组合键,打开“宏”对话框,选择列表框中的“test”,单击右侧的“运行”按钮,很快会看到准确的结果,包括增加和删除共几种、多少字,这样就清晰多了。实例2:快速提取脚注内容 同事传过来一个文件,要求将脚注的内容提取出来,文档如下图所示,其中作了几处脚注,现在要求将脚注的内容提取到

2、正文中相应脚注编号的位置,在这里添加标记(JZ:*),此处的“*”指脚注的内容(不含序号,如此文和),同时删除原来的编号。 如果通过手工的方法进行操作,既麻烦也不方便,其实这里可以利用VBA代码解决这一问题,代码如下:Dim oFootNote As Footnote, myRange As RangeDim BeforeName As String, BeforeSize As SingleOn Error Resume NextApplication.ScreenUpdating = FalseFor Each oFootNote In ActiveDocument.FootnotesWi

3、th oFootNoteSet myRange = ActiveDocument.Range(.Reference.Start, .Reference.End).Range.CopyWith myRange.Text = (JZ: )BeforeName = .Font.NameBeforeSize = .Font.SizemyRange.SetRange .Start + 4, .Start + 4.Paste.Font.Name = BeforeName.Font.Size = BeforeSizeEnd WithApplication.ScreenUpdating = True 如果需要

4、重新设置标记,可以对“.Text=(J Z:) ”这一行进行更改;“BeforeName = .Font.Name”这一行是取得之前的字号大小,“.Font.Name =BeforeName”和“.Font.Size = BeforeSize”分别用来重新设置字体和字号。检查无误后,单击工具栏上的“保存”按钮,依次执行“文件关闭并返回到Microsoft Word”命令,返回Word窗口,然后“运行”该宏命令,你就可以看到最终结果了。实例3:从任意页面编排页码 很多时候,我们在使用Word编排文档时,经常需要从文档的某个页面开始显示页码,而不是从文档的第1页显示页码。对于比较熟悉Word的朋友

5、来说,这只是个简单的问题:先分节,然后断开节链接,最后在节中插入重新编号的页码即可。但是对于不经常使用Word的朋友来说,要快速、顺利完成这几个操作并非易事。 其实,我们也可以借助VBA宏解决这一问题,而且操作更为简单。打开目标文档,按下Alt+F11组合键,打开Microsoft Visual Basic编辑器窗口,双击左侧目标文档文件名下的ThisDocument,粘贴如下代码:Dim p As Integerp = InputBox(请输入起始编排页码的页次)With Selection.GoTo What:=wdGoToPage, Count:=p.InsertBreak Type:=

6、wdSectionBreakContinuous.Sections(1).Footers(1).LinkToPrevious = FalseWith .Sections(1).Footers(1).PageNumbers.RestartNumberingAtSection = True.StartingNumber = 1.Add PageNumberAlignment:=wdAlignPageNumberCenter, FirstPage:=True 检查无误之后,按下Ctrl+S组合键执行保存操作,依次执行“文件关闭并返回到Microsoft Word”命令,然后按F5键运行VBA宏,按照

7、提示输入起始编码页码的数字,例如“3”,确认之后关闭对话框。实例4:将多页文档分解成单页文档由于工作的需要,现在要求将多页的Word文档按照每个页面单独存储为1个Word文档,除了枯燥的剪切、粘贴之外,也可以利用V B A宏解决这一困难。首先请打开相应的多页Word文档,打开Microsoft Visual Basic编辑器窗口,在右侧窗格中插入一个新的空白模块,手工粘贴如下代码:myPath = H:tempSelection.HomeKey Unit:=wdStorySet myRange = Selection.Rangecurpage = 0Doprepage = curpagepag

8、enum = pagenum + 1Set myRange = myRange.GoToNext(What:=wdGoToPage)curpage = myRange.Startendpage = myRange.Previous.StartIf curpage = prepage Then _endpage = ActiveDocument.Content.EndActiveDocument.Range(prepage, endpage).CopyWith Documents.Add.Content.Paste.SaveAs myPath &Page pagenum &.doc.CloseI

9、f curpage = prepage Then Exit DoLoop 上述代码中的“H:temp”表示存储单页文档的位置,请根据实际情况而定,检查无误之后保存代码并返回Word界面。按下Alt+F8组合键,选中列表框中的“test”宏,单击右侧的“运行”按钮,稍等片刻即可将当前的多页Word文档按照页面快速分割存储为一个一个的Word文档,是不是很方便?需要指出的是,如果没有选择内容,那么VBA宏会针对当前文档的所有页面进行自动分割,如果选定页面,那么就只会针对当前选定的页面进行分割。实例5:快速更新参考文献编号 朋友小张最近正在做毕业设计,毕业论文中涉及参考文献的标注,现在需要增加2个参

10、考文献,但由于小张是将正文和参考文献分别放在两个文档中,而且是将参考文献手工复制到正文的末尾,也就是说没有使用正规的操作方式,这样就会导致编号无法更新。更麻烦的是,这里并不能使用“查找和替换”的功能,但如果针对这些逐个手工替换,显然既麻烦而且也容易出错。 其实,这里可以使用V B A宏代码实现这一要求,粘贴实例5代码(限于篇幅代码请访问 rd窗口,按下Al t+F8组合键,打开“宏”对话框,选中列表框中的“Test”宏,单击右侧的“运行”按钮即可。当然,建议以后还是通过“插入尾注”的方法进行操作,这样可以省去不少麻烦事。实例6:快转大纲级别并自动提取目录 同事转过来一份发言稿,这里采用了中文文

11、稿中习惯的大纲级别,这样自然也就无法直接提取目录,如下图所示,这里需要将文档中以“一、”、“1.”、“(1)”开头的段落设置相应级别的标题样式,也就是说分别将其转换为1、2、3级,不过如果纯粹依靠手工操作的话,既繁琐而且也容易出错。有没有简单一些的方法呢?借助VBA宏代码可以解决这一问题,操作也并不复杂,具体步骤如下:第一步:打开Microsoft Visual Basic编辑器窗口,在右侧窗格插入一个空白模块,粘贴实例6代码(访问第二步:转换大纲级别上述代码先将所有手动换行符替换为段落标记,并自动删除段前、段后的空格,再将“一、”设置为一级标题,将“1.”设置为二级标题,将“(1)”设置为三

12、级标题。检查无误之后,单击工具栏上的“保存”按钮执行保存操作,依次执行“文件关闭并返回到MicrosoftWord”,返回Wo rd窗口之后,按下Al t+F8组合键,打开“宏”对话框,选中列表框中的“test”宏,单击右侧的“运行”按钮,稍等片刻,即可完成大纲列表的自动转换。第三步:提取目录按下Ctrl+Home组合键,在文档首页插入一个空白页面,这个空白页面主要是用来插入目录。切换到“引用”选项卡,单击“目录”功能组中的“目录”按钮,从下拉菜单中选择“插入目录”,此时会弹出“目录”对话框,直接确认之后即可自动提取目录。实例7:完成虚框实框的批量转换 不知是什么原因,某个Word文档中的实框

13、变成了虚框,看起来很不顺眼。最简单的方法是选中整个表格,打开“表格属性”对话框,单击“边框和底纹”按钮,打开“边框和底纹”对话框,在这里可以按照自己的需要设置虚框或实框,但如果文档中类似的虚框表格数量极多可以通过VBA代码解决这一问题,输入如下代码:Sub example()With Application.FileSearch.LookIn = h:Downloads.FileType = msoFileTypeWordDocumentsIf .Execute 0 ThenFor i = 1 To .FoundFiles.CountSet myDoc = Documents.Open(Fil

14、eName:=.FoundFiles(i), Visible:=False)For Each t In myDoc.Tablest.Style = 网格型myDoc.Close True 上述代码中的“ex amp le”是宏的名称,当然你可以任意命名,“.LookIn = ”请更改为实际的路径。检查无误之后,单击工具栏上的“保存”按钮执行保存操作,依次执行“文件关闭并返回到Mi crosoftWord”,返回Wo rd窗口之后,按下Al t+F8组合键,此时会弹出“宏”对话框,选中列表框中的“example”宏,单击右侧的“运行”按钮就可以了。实例8:批量实现缩放打印 在实际工作中,由于纸张

15、的原因,我们往往需要利用Word的“按纸张大小缩放”功能,在不更改页面设置的情况下,实现文档的完美打印。但如果需要对某个文件夹下的多个Word文档进行缩放打印,难道只能逐个进行? 其实,我们可以利用VBA宏代码批量实现缩放打印,操作也并不复杂。以Word 2007为例,考虑将A4纸面的文档缩放为16开纸进行打印,可以按照如下步骤进行操作:按下Alt+F11组合键,打开Microsoft VisualBasic编辑器窗口,依次执行“插入模块”,在右侧窗格中插入一个空白模块,粘贴如下代码:Downloadstemp5Fori = 1To.FoundFiles.CountDocuments.Open

16、 FileName:=.FoundFiles(i)ActiveDocument.PrintOutPrintZoomPaperWidth:=10433,PrintZoomPaperHeight:=14742ActiveDocument.Close FalseNext i 需要指出的是,上述代码中的名称“test”可以任意定制,“.LookIn = D own loadst emp5”的文件夹路径请根据实际情况进行设置。值得注意的是“PrintZoomPaperWidth”和“PrintZoomPaperHeight”后面的数字,前者表示Word将打印页面缩放到的宽度,后者表示Word将打印页面缩

17、放到的高度,两者均以缇(Twip)为单位,20缇为1磅,72磅为1英寸。 16开纸张的宽度为521.65磅,高度为737.1磅,换算成缇正好分别是10433缇、14742缇。如果需要缩放为其他的纸张大小,可以按照这一方法进行换算,当然请事先打开“选项常规”对话框,将度量单位由默认的“厘米”设置为“磅”。 检查无误之后,单击工具栏上的“保存”按钮执行保存操作,接下来依次执行“文件关闭并返回到MicrosoftWord”,返回Wo rd窗口之后,按下Alt+F8组合键,打开“宏”对话框,选择列表框中的“test”宏,单击右侧的“运行”按钮,然后的事情嘛,耐心等待片刻即可完成文档的批量缩放打印。实例

18、9:判断图片属性 很多时候,我们都需要在Wo r d文档中插入一些图片,默认设置下都是会以嵌入型的方式插入,但可能会被某些用户更改此默认设置,可以右击图片打开“设置图片格式”对话框,在这里可以查看到该图片的详细信息,但显然是不太方便,而且也不直观。 其实,我们可以借助V B A宏代码快速判断图片属性,方法也并不复杂,具体代码如实例9(访问 运行宏之后,很快就可以显示图所示的结果,这里可以查看到图片的插入模式、图片的宽和高等信息。如果需要判断图片究竟是衬于文字下方,或者是浮于文字上方,可以在上述代码的“End Sub”前面添加下述内容,ActiveDocument.Shapes(1).Selec

19、tWith Dialogs(wdDialogFormatDrawingObject)MsgBox CStr(.Wrap)End With 运行宏之后会在弹出上述对话框的同时,接下来弹出上图所示的对话框,这里的“5”表示衬于文字下方,如果显示为“6”则表示浮于文字上方。实例10:利用文本文件和VBA完成批量替换 在实际工作中,我们经常需要对Word文档中的某些字符串进行替换,如果每次都借助“查找和替换替换”进行操作的话,既麻烦而且也容易出错。当然,我们可以通过VBA宏完成批量替换,但如果每次替换的内容不一样,就需要更改源代码,确实也是比较繁琐。 其实,我们可以针对经常需要替换的字符串创建相应的文

20、本文件,然后在VBA宏代码中调用这个文本文件,如果替换的内容发生变化,我们就不需要重写VBA宏代码,而是只需要针对这个文本文件进行更改,无疑是方便许多。具体步骤如下:针对下图所示的文档,打开记事本,写入需要替换的原字符串和新字符串,格式如下所示,完成之后创建一个名为k:Documentstest.txt的文本文件:图象图像帐户账户AAAChrW(2229)沙洲张家港市上述文本中,“”前面的内容表示需要替换的原字符串,“”后面的内容表示替换之后的新字符串;“AAA”后面的内容为空,表示删除“AAA”;“ChrW(2229)”的内容比较有趣,“ChrW”表示返回该代码所对应的Unicode字符,字

21、符为英文或汉字,这里自然是返回“”这个符号,相关符号的Unicode编码可以在Word的“符号”窗口中查阅。按下Alt+F11组合键,打开Microsoft VisualBasic编辑器窗口,依次执行“插入模块”,在右侧窗格中插入一个空白的模块,手工写入实例10代码。单击工具栏上的“保存”按钮,将刚才写入的宏代码保存下来,按下Alt+Q组合键返回Word窗口之后,按下Alt+F8组合键,打开“宏”对话框,选中列表框中的“Replace”宏,单击右侧的“运行”按钮。 基于上述原理,以后如果替换的内容发生变化,我们只需要针对test.txt文件进行编辑,而不需要更改VBA宏代码,这样就方便多了。实

22、例11:对文档内容进行顺序排列 手头有一个文档,其中有许多格式相似的消息,现在希望对这些内容按照日期进行重新整理,也就是说将日期在前面的消息也放在前面,由于实际文档的内容相当之多,如果通过手工的方法进行操作,工作量可想而知。有没有简单一些的批量处理方法呢?利用VBA可以实现这一要求,具体代码如下:Sub macro1()Dim s() As String, temp As String, i As LongVBAs = Split(ActiveDocument.Content, Chr(13) & Chr(13)For i = 0 To UBound(s) 2temp = s(i)s(i) =

23、 s(UBound(s) - i)s(UBound(s) - i) = tempDocuments.AddActiveDocument.Content.Text = Join(s, Chr(13) & 运行宏,稍等片刻,Word会在一个新文档窗口中给出经过整理之后的内容,这里可以清楚的看到文档中的消息已经按照我们的要求进行排列。实例12:替换Word文档插图的超链接 最近,从网络上抓取了一份考试卷,其中有许多插图,按住Ctrl键单击之后可以访问所设定的链接。不过,这里所链接到的网页看起来似乎很有问题,现在希望将这些链接地址进行重新设置,但如果逐一右击打开“编辑超链接”对话框进行修改,显然是相当

24、的麻烦。 其实,我们可以利用VBA完成这个批量修改超链接的任务。编辑VBA代码 经过检查之后发现,这份考试卷中的插图的版式并不相同,其中有一些图片采取了默认的“嵌入型”环绕方式,因此需要首先将其中的嵌入型图片更改为其他的环绕方式。虽然可以逐一手工更改,但显然效率不高。打开Microsoft Visual Basic编辑器窗口,输入实例12代码(访问选择图片版式 单击工具栏上的“保存”按钮,然后执行“文件关闭并返回到Microsoft Word”,按下Alt+F8组合键,单击右侧的“运行”按钮,此时会弹出一个对话框,单击“是(Y)”按钮,随后会看到一个对话框,根据自己的需要输入相应的数字,确认之

25、后即可将文档中的图片更改为所对应的版式。编辑替换超链接的VBA代码 仍然打开Microsoft Visual Basic编辑器窗口,依次执行“插入模块”,在右侧窗格中手工插入一个新的空白模块,粘贴如下代码:Sub text()n = 0For Eachs In ActiveDocument.Shapess.SelectActiveDocument.Hyperlinks.Add Anchor:=Selection.ShapeRange, _Address:=n=n+1共替换n&个图片! 上述代码中的“text”名称和“”的内容可以根据需要任意更改。第四步:替换超链接 检查无误之后,按下Ctrl+S组合键保存代码,接下来依次执行“文件关闭并返回到Microsoft Word”,返回Word窗口之后,按下Alt+F8组合键,选中列表框中的“text”宏,单击右侧的“运行”按钮即可看到效果。至于页眉和末尾的超链接内容,直接手工替换即可。实例13:快速实现括号的右对齐 同事小秦出了一份试卷,其中有许多是属于客观题的选择题,但由于输入的问题,相应的括号都跟在文字的后面,现在她希望这些括号能够在页面的最右边对齐,但如果逐题敲入空格键实现右对齐,既麻烦而且也不便于后期的调整,有没有更简单一些的方法呢?利用VBA宏代码来实现这一任务,具体代码如下:Sub 括号右对齐()Dim myRange As

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2