在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
利用VBA 编程,可以使许多日常的任务自动完成,使用户的工作
1、在启动时显示打开对话框 一般情况下启动Word,Word 会认为是创建一个新文档。如果只
Public Sub openfile() '建立一个宏,使在Word 启动时运行该宏 Dialogs(wdDialogFileOpen).Show End Sub
将此代码加入模板中。为了使Word 每次启动时自动执行该宏,
2、为文字设置格式 下面的代码使用 Selection 属性来为选定的文字应用字符和段
With Selection.Font .Name = "Times New Roman" .Size = 14 .AllCaps = True End With With Selection.ParagraphFormat .LeftIndent = InchesToPoints(0.5) .Space1 End With
下面的代码定义一个 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
4、插入文字并应用字符和段落格式 下面的代码在当前文档的顶部添加单词【标题】。第一段居中对
With oRange .InsertAfter Text:="标题" .InsertParagraphAfter .Font.Name = "宋体" .Font.Size = 24 End With With ActiveDocument.Paragraphs(1) .Alignment = wdAlignParagraphCenter .SpaceAfter = InchesToPoints(.5) End With
下面的代码切换所选内容第一段的段前间距。该宏检索当前的段
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 对象包含文档
iMargin = ActiveDocument.PageSetup.LeftMargin iMargin = iMargin + InchesToPoints(0.5) ActiveDocument.PageSetup.LeftMargin = iMargin
日常工作中,处理文字是最经常用到的事情,本节介绍如何利用
6、从文档返回文本 使用Text 属性可以返回Range 或 Selection 对象中的文本。下
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 集合中的每一项 aFirst = ActiveDocument.Words(1).Text 下面的代码返回活动文档第一个书签的相关文本。
If ActiveDocument.Bookmarks.Count >= 1 Then bookText = ActiveDocument.Bookmarks(1).Range.Text MsgBox bookText End If
使用 Select 方法可以选定文档中的一项。Select 方法对许多对象都是有效的,例如 Bookmark、Field、Range 和 Table 对象。 ActiveDocument.Tables(1).Select 下面的代码选定活动文档中的第一个域。 ActiveDocument.Fields(1).Select
Set myRange = ActiveDocument.Range ( Start:=ActiveDocument.Paragraphs ( 1 ) .Range.Start, _ End:=ActiveDocument.Paragraphs(4).Range.End) myRange.Select
8、在文档中插入文本 使用InsertBefore 方法可以在 Selection 或 Range 对象前后 ActiveDocument.Content.InsertAfter Text:= the end. Selection.InsertBefore Text:=new text 在使用了InsertBefore 或 InsertAfter 方法之后,Range 或 利用InsertAfter 方法可将指定文本插入某一区域或所选内容的 如果应用本方法的区域或所选内容是一个完整的段落,则在段落
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."
Visual Basic 包含一些对象,可用这些对象修改下面的文档元
Selection.Words(1).Copy Paragraphs 和 Sections 集合中的项是该集合的单个成员,而 ActiveDocument.Paragraphs(1).Range.Copy 在表11-4 中所有文档元素属性对 Document、Selection 和
下面的代码设置活动文档第一个单词的大小写。 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 修改一组文档元素: 要修改由一组文档元素(字符、单词、句子、段落或节)组成一 Set myRange = ActiveDocument.Range(Start:=0, End:=10)
Set Doc = ActiveDocument Set myRange = Doc.Range ( Start:=Doc.Paragraphs (2).Range.Start, _ End:=Doc.Paragraphs(3).Range.End)
10、判定是否选定某一文本 Selection 对象的 Type 属性返回有关所选内容的信息。如果所 If Selection.Type = wdSelectionIP Then MsgBox Nothing
11、折迭所选内容或范围 使用 Collapse 方法可以将 Selection 或 Range 对象折迭到开 Selection.Collapse Direction:=wdCollapseStart 下面的代码将 myRange 对象折叠到结束位置(在第一个单词之 Set myRange = ActiveDocument.Words(1) myRange.Collapse Direction:=wdCollapseEnd
12、扩展所选内容或范围 下面的代码使用 MoveEnd 方法将所选内容的结尾向前扩展以多 Selection.MoveEnd Unit:=wdWord, Count:=3 下面的代码使用 MoveEnd 方法扩展 oRange,以包含活动文档的
oRange.MoveEnd Unit:=wdParagraph, Count:=2
13、修改文字 通过更改某一范围中的内容可更改现有的文字。下面的指令通过 ActiveDocument.Words(1).Text = good 也可以使用 Delete 方法删除现有文字,然后使用 InsertAfter
Set myRange = ActiveDocument.Paragraphs(1).Range With myRange .Delete .InsertAfter Text:="New text" .InsertParagraphAfter End With
Find 和 Replacement 对象具有查找和替换功能。Find 对象对 1.查找并选定文字 如果是从Selection 对象访问Find 对象,当找到搜索条件时,
With Selection.Find .Forward = True .Wrap = wdFindStop .Text = "你好" .Execute End With
Find 对象包含各种属性,这些属性对应于【编辑】菜单【查找命令的【查找并替换】对话框中的选项。可以设置 Find 对象的单个属性,或者使用 Execute 方法及参数,如下例所示。 Selection.Find.Execute FindText:= 你好, '查找文字,但并不更改所选内容
With ActiveDocument.Content.Find .Text = "粗体" .Forward = True .Execute If .Found = True Then .Parent.Bold = True End With
Set myRange = ActiveDocument.Content myRange.Find.Execute FindText:="粗体", Forward:=True If myRange.Find.Found = True Then myRange.Bold = True
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 属
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
1.更改视图 View 对象包含窗口或窗格的视图特性的属性和方法(全部显示、 ActiveWindow.View.Type = wdPageView 2.设置页眉或页脚中的文字 HeaderFooter 对象是由 Headers、Footers 和 HeaderFooter 属
ActiveWindow.View.SeekView = wdSeekCurrentPageHeader Selection.HeaderFooter.Range.Text = "页眉文字"
本代码创建一个 Range 对象(oRange),该对象引用活动文档 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
17、设置选项 Options 对象包含的属性对应于【工具】菜单【选项】对话框中
With Options .AllowDragAndDrop = True .ConfirmConversions = False .MeasurementUnit = wdPoints End With
18、更改文档版面 PageSetup 包含文档的所有页面设置属性(左边距、下边距、纸
With ActiveDocument.PageSetup .LeftMargin = InchesToPoints(0.75) .RightMargin = InchesToPoints(0.75) .TopMargin = InchesToPoints(1.5) .BottomMargin = InchesToPoints(1) End With
本代码循环遍历活动文档的所有段落。如果某个段落的段前间距
For Each aPara In ActiveDocument.Paragraphs If aPara.SpaceBefore = 12 Then oPara.SpaceBefore = 24 Next aPara
20、自定义菜单和工具栏 CommandBar 对象同时代表菜单和工具栏。使用一个菜单或工具
CustomizationContext = NormalTemplate CommandBars ( "Tools" ) .Controls.Add Type:=msoControlButton, ID:=792, _ Before:=6 下面的代码向【格式】工具添加【双下划线】命令。 CustomizationContext = NormalTemplate CommandBars ( "Formatting" ) .Controls.Add Type:=msoControlButton, ID:=60, _ Before:=7 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论