首页 自动完成Word 日常任务

自动完成Word 日常任务

举报
开通vip

自动完成Word 日常任务自动完成Word 日常任务 利用VBA 编程,可以使许多日常的任务自动完成,使用户的工作更有效率。 11.7.1 在启动时显示打开对话框 一般情况下启动Word,Word 会认为是创建一个新文档。如果只是想打开一个旧文档进行编辑,在Word 启动时显示【打开】对话框可以节省许多时间。为此,可以创建生成一个宏。 Public Sub openfile() 建立一个宏,使在Word 启动时运行该宏 Dialogs(wdDialogFileOpen).Show End Sub 将此代码加入模板中。为了使W...

自动完成Word 日常任务
自动完成Word 日常任务 利用VBA 编程,可以使许多日常的任务自动完成,使用户的工作更有效率。 11.7.1 在启动时显示打开对话框 一般情况下启动Word,Word 会认为是创建一个新文档。如果只是想打开一个旧文档进行编辑,在Word 启动时显示【打开】对话框可以节省许多时间。为此,可以创建生成一个宏。 Public Sub openfile() 建立一个宏,使在Word 启动时运行该宏 Dialogs(wdDialogFileOpen).Show End Sub 将此代码加入模板中。为了使Word 每次启动时自动执行该宏,用鼠标右键单击桌面上Word 的快捷方式图标,显示其快捷方式属性,将“/m OpenFile”加入到“开始”路径中。这里运用了一个小技巧:用“/m”加入“开始”路径以防止其他宏在启动时运行。当怀疑被Word 宏病毒感染时,也可以利用加“/m”的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 来进行。 11.7.2 为文字设置格式 下面的代码使用 Selection 属性来为选定的文字应用字符和段落格式。使用 Font 属性可获得字体格式属性和方法,使用Microsoft Word 对象属性可访问段落格式属性和 方法。 With Selection.Font .Name = "Times New Roman" .Size = 14 .AllCaps = True End With With Selection.ParagraphFormat .LeftIndent = InchesToPoints(0.5) .Space1 End With 11.7.3 将格式应用于某一范围 下面的代码定义一个 Range 对象MyRange,该对象引用活动文档的前三个段落。通过使用 Font 属性和 ParagraphFormat 对象可以编排Range(myRange)的格式。 Set myRange = ActiveDocument.Range ( Start:=ActiveDocument.Paragraphs ( 1 ) .Range.Start, _ End:=ActiveDocument.Paragraphs(3).Range.End) With myRange .Font.Name = "Arial" .ParagraphFormat.Alignment = wdAlignParagraphJustify End With 11.7.4 插入文字并应用字符和段落格式 下面的代码在当前文档的顶部添加单词【标题】。第一段居中对齐,在该段落之后添加了半英寸的间距。【标题】设为 24 磅的【宋体】字体。 Set oRange = ActiveDocument.Range(Start:=0, End:=0) With oRange .InsertAfter Text:="标题" .InsertParagraphAfter .Font.Name = "宋体" .Font.Size = 24 End With With ActiveDocument.Paragraphs(1) .Alignment = wdAlignParagraphCenter .SpaceAfter = InchesToPoints(.5) End With 下面的代码切换所选内容第一段的段前间距。该宏检索当前的段前间距值,如果该值是 12 磅,则删除段前间距(将SpaceBefore属性设置为0)。如果段前间距不是 12,则将 SpaceBefore 属性设置为 12 磅。 Set oParagraph = Selection.Paragraphs(1) If oParagraph.SpaceBefore = 12 Then oParagraph.SpaceBefore = 0 Else oParagraph.SpaceBefore = 12 End If 下面的代码切换选定文字的加粗格式。 Selection.Font.Bold = wdToggle 下面的代码将左边距增加 0.5 英寸。PageSetup 对象包含文档的所有页面设置属性(左边距、下边距、纸张大小,等等)。LeftMargin属性用来返回并设置左边距。 iMargin = ActiveDocument.PageSetup.LeftMargin iMargin = iMargin + InchesToPoints(0.5) ActiveDocument.PageSetup.LeftMargin = iMargin 11.7.5 编辑文字 日常工作中,处理文字是最经常用到的事情,本节介绍如何利用VBA 编程实现编辑文字的自动化。当然,用户最好是利用录制宏的办法把代码转换为VBA 代码后再修改,这样效率高,又不容易出错。 11.7.5.1 从文档返回文本 使用Text 属性可以返回Range 或 Selection 对象中的文本。下面的代码选定下一个格式设为【标题1】样式的段落。然后通过MsgBox 函数显示 Text 属性的内容。 With Selection.Find .ClearFormatting .Style = wdStyleHeading1 .Execute FindText:="", Format:=True, Forward:=True, Wrap:=wdFindStop If .Found = True Then MsgBox Selection.Text End With 下面的指令返回选定文本: strText = Selection.Text 下面的代码返回活动文档的第一个单词。Words 集合中的每一项是一个 Range 对象,该对象代表一个单词。 aFirst = ActiveDocument.Words(1).TextMsgBox aFirst 下面的代码返回活动文档第一个书签的相关文本。 If ActiveDocument.Bookmarks.Count >= 1 Then bookText = ActiveDocument.Bookmarks(1).Range.Text MsgBox bookText End If 11.7.5.2 选定文档中的文本 使用 Select 方法可以选定文档中的一项。Select 方法对许多对象都是有效的,例如 Bookmark、Field、Range 和 Table 对象。下面的代码选定活动文档中的第一张表格。 ActiveDocument.Tables(1).Select 下面的代码选定活动文档中的第一个域。 ActiveDocument.Fields(1).Select 下面的代码选定活动文档中的前四个段落。Range 方法用来创建一个 Range 对象,该对象引用前四个段落。然后将 Select 方法应用于 Range 对象。 Set myRange = ActiveDocument.Range ( Start:=ActiveDocument.Paragraphs ( 1 ) .Range.Start, _ End:=ActiveDocument.Paragraphs(4).Range.End) myRange.Select 11.7.5.3 在文档中插入文本 使用InsertBefore 方法可以在 Selection 或 Range 对象前后插入文字。下面的代码在活动文档结尾处插入文字。 ActiveDocument.Content.InsertAfter Text:= the end.下面的代码在所选内容前插入文字: Selection.InsertBefore Text:=new text 在使用了InsertBefore 或 InsertAfter 方法之后,Range 或Selection 会扩展并包含新的文本。使用 Collapse 方法可以将Selection 或 Range 折叠到开始或结束位置。 利用InsertAfter 方法可将指定文本插入某一区域或所选内容的后面。应用本方法可以扩展原区域或所选内容,使其包含新文本。 如果应用本方法的区域或所选内容是一个完整的段落,则在段落结束标记之后插入文本,插入文本将出现在下一段开头。如要在段尾插入文本,可先确定结束点,再从该位置减去 1(因段落标记是一个字符),如下面的代码所示: Set Doc = ActiveDocument Set myRange = Doc.Range ( Start:=Doc.Paragraphs (1).Range.End - 1, _ End:=Doc.Paragraphs(1).Range.End - 1) myRange.InsertAfter " the end." 11.7.5.4 修改文档的某一部分 Visual Basic 包含一些对象,可用这些对象修改下面的文档元素:字符、单词、句子、段落和节。表11-4 包含了与这些文档元素对应的属性和这些属性返回的对象。 使用这些属性时不带索引序号,会返回一个相同名称的集合对象。例如,Paragraphs 属性返回 Paragraphs 集合对象。但如果通过索引序号识别集合中的一项,就只会返回上表中第二列中的对象。例如,Words(1) 返回一个 Range 对象。在有了一个 Range 对象之后,可以使用这个区域的任何属性或方法修改该 Range 对象。例如,下面的代码将所选内容的第一个单词复制到剪贴板上。 Selection.Words(1).Copy Paragraphs 和 Sections 集合中的项是该集合的单个成员,而Range 对象却不是如此。但 Range 属性(返回 Range 对象)对Paragraph 和 Section 对象都是有效的。例如,下面的代码将活动文档的第一个段落复制到剪贴板上。 ActiveDocument.Paragraphs(1).Range.Copy 在表11-4 中所有文档元素属性对 Document、Selection 和Range 对象都是有效的。下面的代码表明了如何按照顺序引用Document、Selection 和 Range 对象的这些属性。 下面的代码设置活动文档第一个单词的大小写。 ActiveDocument.Words(1).Case = wdUpperCase 下面的代码将当前节的下边距设置为 0.5 英寸。 Selection.Sections ( 1 ) .PageSetup.BottomMargin = InchesToPoints(0.5) 下面的代码将活动文档的字符间距设为两倍(Content 属性返回一个 Range 对象)。 Set Doc = ActiveDocument Set myRange = Doc.Range(Start:=Doc.Words(1).Start, _ End:=Doc.Words(3).End) Set Doc = ActiveDocument Set myRange = Doc.Range ( Start:=Doc.Paragraphs (2).Range.Start, _ End:=Doc.Paragraphs(3).Range.End) ActiveDocument.Content.ParagraphFormat.Space2 修改一组文档元素: 要修改由一组文档元素(字符、单词、句子、段落或节)组成一定区域的文字,就需要创建一个 Range 对象。Range 方法根据开始和结束位置可创建 Range 对象。例如,下面的指令创建一个 Range对象,该对象引用活动文档的前十个字符。 Set myRange = ActiveDocument.Range(Start:=0, End:=10)使用 Range 对象的 Start 和 End 属性,可以创建一个新的Range 对象,该对象引用一组文档元素。例如,下面的指令创建一个 Range 对象(myRange),该对象引用活动文档的前三个单词。 下面的代码创建一个 Range 对象(aRange),该对象从第二段的开头开始,到第三段之后结束。 Set Doc = ActiveDocument Set myRange = Doc.Range ( Start:=Doc.Paragraphs (2).Range.Start, _ End:=Doc.Paragraphs(3).Range.End) 11.7.5.5 判定是否选定某一文本 Selection 对象的 Type 属性返回有关所选内容的信息。如果所选内容是插入点,则下面的代码显示一条信息。 If Selection.Type = wdSelectionIP Then MsgBox Nothingis selected 11.7.5.6 折迭所选内容或范围 使用 Collapse 方法可以将 Selection 或 Range 对象折迭到开始或结束位置。下面的代码在所选内容的开头将所选内容折叠为一个插入点。 Selection.Collapse Direction:=wdCollapseStart 下面的代码将 myRange 对象折叠到结束位置(在第一个单词之后)。 Set myRange = ActiveDocument.Words(1) myRange.Collapse Direction:=wdCollapseEnd 11.7.5.7 扩展所选内容或范围 下面的代码使用 MoveEnd 方法将所选内容的结尾向前扩展以多包含三个单词。MoveLeft、MoveRight、MoveUp 和 MoveDown 方法也可以用来扩展 Selection 对象。 Selection.MoveEnd Unit:=wdWord, Count:=3 下面的代码使用 MoveEnd 方法扩展 oRange,以包含活动文档的前三个段落。 Set oRange = ActiveDocument.Paragraphs(1).Range oRange.MoveEnd Unit:=wdParagraph, Count:=2 11.7.5.8 修改文字 通过更改某一范围中的内容可更改现有的文字。下面的指令通过将 Text 属性设置为good ,修改活动文档的第一个单词。 ActiveDocument.Words(1).Text = good 也可以使用 Delete 方法删除现有文字,然后使用 InsertAfter或 InsertBefore 方法插入新文字。下面的代码删除活动文档的第一段,并插入新文字。 Set myRange = ActiveDocument.Paragraphs(1).Range With myRange .Delete .InsertAfter Text:="New text" .InsertParagraphAfter End With 11.7.5.9 查找并替换文字或格式 Find 和 Replacement 对象具有查找和替换功能。Find 对象对Selection 和 Range 对象有效。是否从 Selection 或 Range 对象访问 Find 对象,会使查找操作略有不同。 1(查找并选定文字 如果是从Selection 对象访问Find 对象,当找到搜索条件时,就会更改所选内容。下面的代码选定下一次出现的“你好”。如果到达文档结尾还没有找到“你好”,则停止搜索。 With Selection.Find .Forward = True .Wrap = wdFindStop .Text = "你好" .Execute End With Find 对象包含各种属性,这些属性对应于【编辑】菜单【查找命令的【查找并替换】对话框中的选项。可以设置 Find 对象的单个属性,或者使用 Execute 方法及参数,如下例所示。 Selection.Find.Execute FindText:= 你好,Forward:=True, Wrap:=wdFindStop 查找文字,但并不更改所选内容 如果是从 Range 对象访问 Find 对象,则当找到搜索条件时,不更改所选内容,但是会重新定义 Range。下面的代码在活动文档中定位第一次出现的【粗体】。如果找到了,则重新定义该范围,并将加粗格式应用于【粗体】。 With ActiveDocument.Content.Find .Text = "粗体" .Forward = True .Execute If .Found = True Then .Parent.Bold = True End With 下面的代码使用带有参数的 Execute 方法,进行的操作与上例相同。 Set myRange = ActiveDocument.Content myRange.Find.Execute FindText:="粗体", Forward:=True If myRange.Find.Found = True Then myRange.Bold = True 2(使用 Replacement 对象 Replacement 对象代表查找和替换操作的替换条件。Replacement对象的属性和方法对应于【编辑】 菜单【查找和替换】对话框中的选项。 Replacement 对象对 Find 对象是有效的。下面的代码将所有的hi替换为【你好】。由于 Find 对象是通过 Selection 对象访问的,所以当找到搜索条件时,会更改所选内容。 With Selection.Find .ClearFormatting .Text = "hi" .Replacement.ClearFormatting .Replacement.Text = "你好" .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue End With 下面的代码从活动文档中删除加粗格式。Find 对象的 Bold 属性为 True,而Replacement 对象的 Bold 属性为 False。为了查找并替换格式,需将查找并替换的文字替换为空字符(),并将Execute 方法的 Format 参数设置为 True。由于 Find 对象是通过Range 对象访问的,所以不更改所选内容(Content 属性返回 Range对象)。 With ActiveDocument.Content.Find .ClearFormatting .Font.Bold = True With .Replacement .ClearFormatting .Font.Bold = False End With .Execute FindText:="", ReplaceWith:="", Format:=True, Replace:=wdReplaceAll End With 11.7.5.10 处理其他各种杂务 1(更改视图 View 对象包含窗口或窗格的视图特性的属性和方法(全部显示、显示域底纹、显示表格虚框等)。下面的代码将视图更改为页面视图。 ActiveWindow.View.Type = wdPageView 2(设置页眉或页脚中的文字 HeaderFooter 对象是由 Headers、Footers 和 HeaderFooter 属性返回的。下面的代码更改当前页面的页脚的文字。 ActiveWindow.View.SeekView = wdSeekCurrentPageHeader Selection.HeaderFooter.Range.Text = "页眉文字" 本代码创建一个 Range 对象(oRange),该对象引用活动文档第一节的基本页脚。设置了 Range 对象之后,删除现有的页脚文字。向该页脚添加 FILENAME 域,后接两个制表位和 AUTHOR 域。 Set oRange = ActiveDocument.Sections ( 1 ) .Footers (wdHeaderFooterPrimary).Range With oRange .Delete .Fields.Add Range:=oRange, Type:=wdFieldFileName, Text:="\p" .InsertAfter Text:=vbTab & vbTab .Collapse Direction:=wdCollapseStart .Fields.Add Range:=oRange, Type:=wdFieldAuthor End With 3(设置选项 Options 对象包含的属性对应于【工具】菜单【选项】对话框中各项。下面的代码设置 Word 应用程序的三个选项。 With Options .AllowDragAndDrop = True .ConfirmConversions = False .MeasurementUnit = wdPoints End With 4(更改文档版面 PageSetup 包含文档的所有页面设置属性(左边距、下边距、纸张大小等等)。下面的代码设置活动文档的页边距。 With ActiveDocument.PageSetup .LeftMargin = InchesToPoints(0.75) .RightMargin = InchesToPoints(0.75) .TopMargin = InchesToPoints(1.5) .BottomMargin = InchesToPoints(1) End With 5(循环遍历文档各段 本代码循环遍历活动文档的所有段落。如果某个段落的段前间距为 12 磅,则本代码将段前间距改为 24 磅。 For Each aPara In ActiveDocument.Paragraphs If aPara.SpaceBefore = 12 Then oPara.SpaceBefore = 24 Next aPara 6(自定义菜单和工具栏 CommandBar 对象同时代表菜单和工具栏。使用一个菜单或工具栏名称的 CommandBars 属性可以返回单个的 CommandBar 对象。Controls 属性返回一个 CommandBarControls 对象,该对象引用指定工具栏上的项。下面的代码向【工具】菜单添加【字数统计】命令。 CustomizationContext = NormalTemplate CommandBars ( "Tools" ) .Controls.Add Type:=msoControlButton, ID:=792, _ Before:=6 下面的代码向【格式】工具添加【双下划线】命令。 CustomizationContext = NormalTemplate CommandBars ( "Formatting" ) .Controls.Add Type:=msoControlButton, ID:=60, _ Before:=7
本文档为【自动完成Word 日常任务】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_477730
暂无简介~
格式:doc
大小:36KB
软件:Word
页数:0
分类:
上传时间:2018-07-17
浏览量:4