首页 vb操作word详解

vb操作word详解

举报
开通vip

vb操作word详解vb操作word详解VisualBasic支持一个对象集合,该集合中的对象直接对应于MicrosoftWord97中的元素,并且通过用户界面,用户熟悉这些元素中的绝大多数。例如,Document对象代表了一个打开的文档,Bookmark对象代表了一个文档中的书签,而Selection对象则代表了在一个文档窗口窗格中的选定内容。在Word中,每一类元素-文档、表格、段落、书签、域等等-都可以用VisualBasic的对象来表示。要在Word中自动执行任务,可以使用这些对象的方法和属性。关于理解和使用Microsoft...

vb操作word详解
vb操作word详解VisualBasic支持一个对象集合,该集合中的对象直接对应于MicrosoftWord97中的元素,并且通过用户界面,用户熟悉这些元素中的绝大多数。例如,Document对象代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 了一个打开的文档,Bookmark对象代表了一个文档中的书签,而Selection对象则代表了在一个文档窗口窗格中的选定内容。在Word中,每一类元素-文档、 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 、段落、书签、域等等-都可以用VisualBasic的对象来表示。要在Word中自动执行任务,可以使用这些对象的方法和属性。关于理解和使用MicrosoftOffice97对象模型的一般性内容,请参阅本书的第二章“理解对象模型”。在MicrosoftOffice97中的对象模型相当丰富,其中包含了大约180个对象。要查看Word对象模型的层次关系图,请参阅“帮助”中的“MicrosoftWord对象”。要获得对某种特定对象的详细描述,可以在此图中单击该对象的名字,或是在“帮助”的索引中对特定对象进行搜索。怎样显示WordVisualBasic帮助要使用WordVisualBasic帮助,必须在安装过程中选择“自定义”的安装方式,并且为Word选中“VisualBasic在线帮助”复选框。否则,安装程序不会安装VisualBasic帮助。如果用户已经安装好了Word,那么可以再次运行Setup程序来安装VisualBasic帮助。要查看WordVisualBasic帮助,可以在“VisualBasic编辑器里的“帮助”菜单中点击“目录和索引”一项。在“帮助主 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ”对话框的“目录”一表中,双击“MicrosoftWordVisualBasic参考”,然后再双击“VisualBasic参考”。“帮助主题”对话框会重新出现,显示出MicrosoftWordVisualBasic的目录和索引。运用Application对象在用户启动一个Word时段的同时,也创建了一个Application对象。用户可以使用Application对象的属性或方法来控制或返回应用程序范围内的特性、控制应用程序窗口的外观或者调整Word对象模型的其他方面。可以使用Application属性来返回WordApplication对象。以下的示例从视图状态切换到打印预览状态。Application.PrintPreview=TrueApplication对象的一些属性控制着应用程序的外观。例如,如果DisplayStatusBar属性为True(真),那么状态栏是可见的,如果WindowState属性值为wdWindowStateMaximize,那么应用程序窗口处于最大化状态。以下的示例设置了屏幕上应用程序窗口的大小。WithApplication.WindowState=wdWindowStateNormal.Height=450.Width=600EndWithApplication对象的属性也可以访问处于对象层次中较低级的对象,比如Windows集合(代表了当前所有打开的窗口)和Documents集合(代表了当前所有打开的文档)。用户可以使用属性,有时候也叫做访问者,从对象层次中最高一级的Application对象向下访问到较低级的对象(Document对象、Window对象、Selection对象等等)。可以使用以下两个示例之一来打开MyDoc.doc。Application.Documents.OpenFileName:="C:\DOCS\MYDOC.DOC"Documents.OpenFileName:="C:\DOCS\MYDOC.DOC"因为Document属性是共用的,所以Application属性是可选的。共用属性和方法无需Application对象限定符。要在“对象浏览器”中浏览共用属性和方法的列表,可以在“类别”栏中单击“<共用>”。共用项就会列在“成员”栏中。注释Option对象包含了控制Word共用行为的一些属性。许多Option对象的属性对应于Option对话框中的各项(Tools菜单)。使用Application对象的Option属性可以返回Option对象。以下的示例设置了三个应用程序范围内的选项(因为Option属性是共用的,所以在本示例中无需Application属性)。WithApplication.Options.AllowDragAndDrop=True.ConfirmConversions=False.MeasurementUnit=wdPointsEndWith运用Document对象当用户在Word中打开或创建一个文件的同时,也创建了一个Document对象。用户可以使用Document对象或Documents集合的属性或方法来打开、创建、保存、激活或者关闭文件。返回Document对象用户可以使用语法Documents(index)来返回作为一个Document对象的任何打开的文档,在这里index是该文档的名字或索引号。在以下的示例中,变量myDoc包含一个Document对象,该对象代表名为“Report.doc”的打开的文档。SetmyDoc=Documents("Report.doc")索引号代表了文档在Documents集合中的位置。在以下的示例中,变量myDoc包含了一个Document对象,该对象代表Documents集合中的第一个文档。SetmyDoc=Documents(1)注释因为当用户添加或关闭多个文档时,某个特定文档的索引号会发生改变,所以最好使用文档的名字来对Documents集合中的Document对象进行索引。除了通过文档的名字或索引号来引用文档,还可以使用ActiveDocument属性来返回一个引用活动文档(当前着眼的文档)的Document对象。以下的示例显示产活动文档的名字;如果没有打开的文档,则该示例显示一条消息。IfDocuments.Count>=1ThenMsgBoxActiveDocument.NameElseMsgBox"Nodocumentsareopen"EndIf打开文档要打开一个已经存在的文档,可以使用Open方法。Open方法应用于通过Document属性返回的Documents集合。以下的示例打开了文件Test.doc(从当前文件夹)并且启动了更改跟踪。SetmyDoc=Documents.Open(FileName:二"TEST.DOC")myDoc.TrackRevisions=True注意到在上例中Open方法的返回值是一个Document对象,该对象表示刚被打开的文档。在此示例中的文件名不包含路径;因此,是假定了该文件在当前的文件夹中。但这会导致出现一个运行时错误,因为一旦用户创建了与当前文件夹不同的文件夹,VisualBasic就再也找不到该文件了。但是,用户可以通过指明完整的路径,就如同F表所示的那样,来确保打开正确的文件操作系统FileName参数WindowsFileName:="C:\Documents'TemporaryFile.doc"MacintoshFileName:二"HardDrive:Documents:TemporaryFile"如果用户的宏只用于一种文件系统,那么可以在FileName参数中指定路径分隔符(“”或者“:”),就如同上表所示的那样。以下示例显示了与文件系统无关的代码,可以用来打开Sales.doc,并且假定Sales.doc已经保存在Word的程序文件夹中。programPath=Options.DefaultFilePath(wdProgramPath)Documents.OpenFileName:=programPath&Application.PathSeparator&"SALES.DOC"PathSeparator属性返回当前文件系统(例如,“”用于MS-DOS/Window的文件分配表,或者“:”用于Macintosh)的正确的文件分隔符。DefaultFilePath属性返回文件的位置,比如文档所在文件夹的路径、程序文件夹或者当前文件夹。如果所指定的文件名既没有在当前文件夹(如果没有指定路径)出现也没有在指定的文件夹(如果指定了路径)中出现,那么就会发生错误。以下的示例使用FileSearch对象的属性和方法来判断名为“Test.doc”的文件是否存在于用户的默认文档文件夹中。如果找到了该文件(FoundFiles.Count=1),那么就打开它;否则,显示一条消息。defaultDir=Options.DefaultFilePath(wdDocumentsPath)WithApplication.FileSearch.FileName="Test.doc".LookIn=defaultDir.ExecuteIf.FoundFiles.Count=1ThenDocuments.OpenFileName:=defaultDir&Application.PathSeparator&"TEST.DOC"ElseMsgBox"Test.docfilewasnotfound"EndIfEndWith也可以允许用户选择要打开的文件,而不是定死Open方法的FileName参数值。如同以下示例所示的那样,可以使用带有wdDialogFileOpen常量的Dialogs属性来返回一个Dialog对象,该对象表示“打开”对话框(在“文件”菜单中)。Show方法可以显示并且执行在“打开”对话框中完成的动作。Dialogs(wdDialogFileOpen).ShowDisplay方法只是用来显示特定的对话框而不作任何更多的操作。以下的示例检查Display方法的返回值。如果用户单击“确定”来关闭对话框,返回值-1并且打开所选择的文件,该文件的名字保存在变量fSelected中。Setdlg=Dialogs(wdDialogFileOpen)aButton=dlg.DisplayfSelected=dlg.NameIfaButton=-1ThenDocuments.OpenFileName:=fSelectedEndIf要对如何显示Word对话框作进一步了解,请参阅“帮助”中的“显示内置Word对话框”一节的内容。要判断某个特殊的文档是否打开,可以使用一条ForEach…Next语句来对Documents集合进行列举。如果名为“Sample.doc”的文档已经被打开了,以下的示例就激活它;如果它尚未被打开,则该示例会打开它。docFound=TrueForEachaDocInDocumentsIfInStr(1,aDoc.Name,"sample.doc",1)ThenaDoc.ActivateExitForElsedocFound=FalseEndIfNextaDocIfdocFound=FalseThenDocuments.Open_FileName:="C:\Documents\Sample.doc"可以使用Count属性来确定当前打开文档的数目。Count属性应用于Documents集合,可以使用Document属性返回该集合。如果没有已打开的文档,以下的示例会显示一条消息。IfDocuments.Count=0ThenMsgBox"Nodocumentsareopen"创建和保存文档要创建一个新文档,可以对Documents集合应用Add方法。以下的示例创建了一个新文档。Documents.AddAdd方法返回了仅作为一个Document对象而创建的文档。当用户添加一个文档时,可以设置Add方法的返回值是一个对象变量,以便用户可以在自己的代码中引用该新文档。以下的示例创建了一个新文档,并且设置它的上边距为1.25英寸。DimmyDocAsDocumentSetmyDoc=Documents.AddmyDoc.PageSetup.TopMargin=InchesToPoints(1.25)第一次保存新文档时,可以随DocumentX寸象使用SaveAs方法。以下的示例将名为“Temp.doC的活动文档保存在当前文件夹中。ActiveDocument.SaveAsFileName:="Temp.doc"在文档被保存之后,用户可以使用它的文档名来调整Document寸象。以下的示例创建了一个新文档并且立刻把它保存为“1996Sales.doc”然后,该示例使用新名字来作Documents集合中的该文档的索引,并且向该文档添加一张表格。Documents.Add.SaveAsFileName:="1996Sales.doc"Documents("1996Sales.doc").Tables.Add_Range:=Selection.Range,NumRows:=2,NumColumns:=4要保存寸一个已经存在的文档所进行的更改,可以随同Document对象使用Save方法。以下的指令保存了名为“Sales.doc”的文档。Documents("Sales.doc").Save如果用户随同一个尚未保存的文档或 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 使用Save方法,将会显示“另存为”对话框来提示用户为该文件取名。要保存所有打开的文档,可以对Documents集合应用Save方法。以下的示例保存了所有打开的文档,但没有提示用户为文件取名。Documents.SaveNoPrompt:=True激活一个文档要使另一个文档成为活动文档,可以对Document对象应用Activate方法。以下的示例激活了打开的文档(MyDocument.doc)。OpenDocuments("MyDocument.doc").Activate以下的示例打开了两个文档,然后激活其中的第一个文档(Sample.doc)。SetDoc1=Documents.(FileName:="C:\Documents\Sample.doc")SetDoc2=Documents.Open(FileName:="C:\Documents\Other.doc")Doc1.Activate打印一个文档要打印一个文档,可以对Document对象应用PrintOut方法,如以下示例所示。ActiveDocument.PrintOut要通过程序来设置那些也可以在“打印”对话框(在“文件”菜单中)里进行设置的打印选项,可以使用PrintOut方法的参数来实现。用户可以使用Options对象的属性来设置打印选项,这些选项也可以在“选项”对话框(在“工具”菜单中)“打印”一表里进行设置。以下示例设置活动文档打印隐藏的文字,并且只打印出前三页。Options.PrintHiddenText=TrueActiveDocument.PrintOutRange:=wdPrintFromTo,From:="1",To:="3"关闭文档要关闭一个文档,可以对Document对象应用Close方法。以下的示例关闭了名为“Sales.doc”的文档。Documents("Sales.doc").Close如果对文档进行过修改,Word会显示出一条消息来询问用户是否要保存所进行的修改。用户可以随SaveChanges参数使用wdDoNotSaveChange或wdSaveChanges常量来使该提示不再出现。以下的示例保存并且关闭了Sales.doc。Documents("Sales.doc").CloseSaveChanges:=wdSaveChanges要关闭所有已打开的文档,可以对Documents集合应用Close方法。以下的示例没有保存修改就关闭了所有的文档。Documents.CloseSaveChanges:=wdDoNotSaveChanges访问文档中的对象用户可以从Document对象来访问返回对象的一系列属性和方法。要查看在Document对象中所能使用的对象的层次关系图,可以参阅“帮助”中的“MicrosoftWord对象(Documents)”。例如,Table属性,它能够返回一个Table对象的集合,可以在Document对象中使用。随着一个集合对象使用的Count属性能够判断在该集合中所包含的项数。以下的示例显示一条消息来指出在活动文档中有多少表格。MsgBoxActiveDocument.Tables.Count&"table(s)inthisdocument"使用Table(index)可以返回一个单张表格对象,这里的index是索引号。在以下的示例中,myTable代表“Sales.doc”文档里的第一张表格。SetmyTable=Documents("Sales.doc").Tables(1)关于返回一个特殊对象的信息可以从“帮助”中的对象主题本身(例如,“Table对象”)和相应的集合对象主题(例如,“Table集合对象”)中获得。向文档添加对象可以使用随着能在Document对象中访问的集合对象的Add方法来向文档添加诸如脚注、备注或表格这样的对象。例如,以下命令在myRange变量(myRange是一个包含了一个Range对象的对象变量)所指定的位置上添加了一张3x3的表格。ActiveDocument.Tables.AddRange:二myRange,NumRows=3,NumColumns:=3以下的示例在myRange变量所指定的位置上添加了一个脚注。ActiveDocument.Footnotes.AddRange:=myRange,Text:二"TheWillowTree"A要获得支持Add方法的集合对象列表,请参阅“帮助”中的“Add方法”。运用Range对象当使用VisualBasic时一个常见的任务就是在文档中指定一块区域,然后对它进行处理,比如插入文字或应用 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 等。例如,用户可能想编写一个宏,来对文档中某个部分里的某个单词或短语进行定位。那就可以使用一个Range对象来表示想在其中搜索特定单词或短语的部分文档。在确定Range对象后,用户能够应用该对象的方法和属性来修改相应范围中的内容。一个Range对象代表了文档中的一块连续的区域。每一个Range对象都由一个起始字符位置和一个终止字符位置来定义。与用户在文档中使用书签的方法类似,可以在VisualBasic中使用Range对象来识别一个文档的特定部分。一个Range对象既可以和插入点一样小,也可以和整个文档一样大。但是,与书签不同,Range对象仅仅在定义它的过程正在运行时才存在。Range对象同选定内容相互独立;也就是说,可以定义和修改范围而不会改变选定内容。用户也可以在文档中定义多个范围,而此时每个文档窗格中仅有一个选定内容。Start、End和StoryType属性唯一地确定了一个Range对象。Start和End属性分别返回或者设置Range对象的起始和结束字符的位置。每个文档构成部分起始处的字符位置是0(zero),而第一个字符之后的位置是1,依此类推。StoryType属性的WdStoryType常量可以表示十一种不同的文档构成部分类型。例如,如果在注脚区域中有一个Range对象,那么StoryType属性返回wdFootnotesStory。要对文档构成部分作进一步了解,请参阅本节后面的“运用文档构成部分”一节的有关内容。使用Range对象来代替Selection对象宏录制器会经常创建一个使用Selection属性来控制操纵Selection对象的宏。但是,用户通常可以用一个或几个Range对象来以很少的命令完成相同的任务。以下的示例是用宏录制器创建的。该宏对文档中的前两个单词进行加粗。Selection.HomeKeyUnit:=wdStorySelection.MoveRightUnit:=wdWord,Count:=2,Extend:=wdExtendSelection.Font.Bold=wdToggle以下的示例没有使用Selection对象而完成了相同的任务。ActiveDocument.Range(Start:=0,End:=ActiveDocument.Words(2).End).Bold=True以下的示例对文档中的前两个单词进行加粗,然后插入一个新的段落。Selection.HomeKeyUnit:=wdStorySelection.MoveRightUnit:=wdWord,Count:=2,Extend:=wdExtendSelection.Font.Bold=wdToggleSelection.MoveRightUnit:=wdCharacter,Count:=1Selection.TypeParagraph以下的示例没有使用Selection对象就完成了上述示例中的同样任务。SetmyRange=ActiveDocument.Range(Start:=0,End:=ActiveDocument.Words(2).End)myRange.Bold=TruemyRange.InsertParagraphAfter前面的两个示例改变了活动文档中的格式但没有改变选定内容。在大多数的场合下,Range对象比Selection对象更可取,原因如下:用户可以定义和使用多个Range对象,而在每个文档窗口中只能有一个Selection对象。控制管理Range对象不会改变所选择的文字内容。控制管理Range对象比运用Selection对象速度要快。使用Range方法返回Range对象可以使用Range方法在特定文档中创建一个Range对象。Range方法(可以从Document对象使用)返回一个Range对象,该对象定位于主文档构成部分中,有给定的起始点和结束点。以下示例创建了一个Range对象,并且赋给myRange变量。SetmyRange=ActiveDocument.Range(Start:=0,End:=10)在上述示例中,myRange表示活动文档中的前十个字符。当对保存在myRange变量中的Range对象应用一种属性或方法时,就可以看到已经创建的Range对象。以下的示例对活动文档中的前十个字符进行加粗。SetmyRange=ActiveDocument.Range(Start:=0,End:=10)myRange.Bold=True当用户需要对一个Range对象进行多次引用时,可以使用Set语句来设置一个等价于Range对象的变量。但是,如果用户需要在一个对象上执行一次操作,那么就没有必要将对象保存到变量中。用户可以使用一条确定范围并且改变Bold属性的命令来取得同样的结果;如以下示例所示。ActiveDocument.Range(Start:=0,End:=10).Bold=True和书签类似,一个范围能够在文档中横跨一组字符,也可以标记其中的一个位置。在以下的示例中,Range对象的起始和终止点相同,并且该范围内不包含任何文字。该示例在活动文档的起始处插入文字。ActiveDocument.Range(Start:=0,End:=0).InsertBeforeText:="Hello"用户可以通过使用如上述示例所示的字符位置数字,或者随同Selection对象、Bookmark对象或Range对象使用Start属性和End属性,来定义一个范围的起始和终止位置。以下示例创建了一个Range对象,来表示活动文档中的第三和第四个句子。SetmyDoc=ActiveDocumentSetmyRange=myDoc.Range(Start:=myDoc.Sentences(3).Start,_End:=myDoc.Sentences(4).End)技巧Range对象在文档中的表示不可见。但是,用户可以使用Select方法来选定一个Range对象,以保证Range对象表示正确的文字范围。在以下示例中的Range对象表示活动文档中的前三个段落。在该宏运行完毕之后,选定内容是指包含在aRange变量中的文字范围。SetaRange=ActiveDocument.Range(Start:=0,_End:=ActiveDocument.Paragraphs(3).Range.End)aRange.Select使用Range属性来返回一个Range对象在许多对象都可以使用Range属性-例如,Paragraph对象、Bookmark对象、Endnote对象以及Cell对象—Range属性用来返回一个Range对象。以下的示例返回了一个Range对象,该对象表示活动文档的第一段。SetmyRange=ActiveDocument.Paragraphs(1).Range在创建了对Range对象的引用之后,用户可以使用它的任何属性或方法来修改该范围。以下的示例复制了活动文档中的第一段。SetmyRange=ActiveDocument.Paragraphs(1).RangemyRange.Copy以下的示例复制了活动文档中表格一的第一行。ActiveDocument.Tables(1).Rows(1).Range.Copy以下的示例显示了活动文档中由第一个书签标记的文字。Range属性可以在Bookmark对象中使用。MsgBoxActiveDocument.Bookmarks(1).Range.Text如果用户需要对同一个Range对象应用多种属性或方法,那么可以使用With…EndWith语句。以下的示例为活动文档的第一段设定了文字的格式。SetmyRange=ActiveDocument.Paragraphs(1).RangeWithmyRange.Bold=True.ParagraphFormat.Alignment=wdAlignParagraphCenter.Font.Name="Arial"EndWith要获得关于返回Range对象的其他示例,请参阅“帮助”中的“Range属性”。修改文档的一部分VisualBasic包含了一些对象,可以使用它们来修改以下类型的文档元素:字符、单词、句子、段落以及节。下面的表格包含了对应于这些文档元素的属性和属性所返回的对象。表达式返回的对象Word(index)Range对象Characters(index)Range对象Sentences(index)Range对象Paragraphs(index)Paragraph对象Sections(index)Section对象当用户不带index来使用这些属性时,就返回一个同名的集合一例如,Paragraphs属性返回Paragraphs集合。但是,如果用户使用index来确定在某个集合中的一项,就返回上述表格第二列中的对象—例如,Words(1)返回一个Range对象。用户可以使用任何范围属性或方法来修改Range对象,如以下示例所示,该示例将选定内容中的第一个单词复制到剪贴板中。Selection.Words(1).Copy在Paragraphs集合以及Sections集合中的集合项分别是Paragraph对象和Section对象,而不是Range对象。但是,在Paragraph对象和Section对象中都可以使用Range属性(它返回一个Range对象)。以下的示例将获得文档中的第一段复制到剪贴板中。ActiveDocument.Paragraphs(1).Range.Copy上述表格中所有的文档元素属性都可以在Document对象、Selection对象以及Range对象中使用,如以下三个示例所示。本例设置活动文档中第一个单词的大小写。ActiveDocument.Words(1).Case=wdUpperCase本例设置选中的第一节的下边距为0.5英寸。Selection.Sections(1).PageSetup.BottomMargin=InchesToPoints(0.5)本例设置活动文档中的文字为两倍行距(Content属性返回一个Range对象,该对象表示主文档构成部分)。ActiveDocument.Content.ParagraphFormat.Space2修改一组文档元素要修改由一组文本元素(字符、单词、句子、段落或节)构成的范围,可以创建一个包含文档元素的Range对象。随同Range对象使用Start和End属性,用户可以新建一个Range对象,该对象引用了一组文档元素。以下的示例创建了一个Range对象(myRange),该对象引用了活动文档中的前三个单词,然后将这些单词的字体改为Arial。SetDoc=ActiveDocumentSetmyRange=Doc.Range(Start:=Doc.Words(1).Start,End:=Doc.Words(3).End)myRange.Font.Name="Arial"以下的示例创建了一个Range对象,该对象起始于第二段的开头,到第四段之后结束。SetmyDoc=ActiveDocumentSetmyRange=myDoc.Range(Start:=myDoc.Paragraphs(2).Range.Start,_End:=myDoc.Paragraphs(4).Range.End)以下的示例创建了一个Range对象(aRange),该对象起始于第二段的开头,到第三段之后结束。ParagraphFormat属性用来访问诸如SpaceBefore和SpaceAfter这样的设置段落格式的属性。SetDoc=ActiveDocumentSetaRange=Doc.Range(Start:=Doc.Paragraphs(2).Range.Start,_End:=Doc.Paragraphs(3).Range.End)WithaRange.ParagraphFormat.Space1.SpaceAfter=6.SpaceBefore=6EndWith返回或设置范围中的文字可以使用Text属性来返回或设置一个Range对象中的内容。以下的示例返回了活动文档中的第一个单词。strText=ActiveDocument.Words(1).Text以下示例将活动文档中的第一个单词改为“Hello”。ActiveDocument.Words(1).Text="Hello"可以使用InsertAfter方法或者InsertBefore方法在一个范围的前面或后面插入文字。以下的示例在活动文档的第二段之前插入文字。ActiveDocument.Paragraphs(2).Range.InsertBeforeText:="Inthebeginning"在使用InsertAfter方法或者InsertBefore方法之后,范围随之扩大,包含新的文字。但是,也可以使用Collapse方法将范围折叠到起始位置或终止位置。以下的示例在现有文档之前插入单词“Hello”,然后将范围折叠到它的起始位置(在单词“Hello”之前)。WithActiveDocument.Paragraphs(2).Range.InsertBeforeText:="Hello".CollapseDirection:=wdCollapseStartEndWith设置范围中文字的格式可以使用Font属性来取得设置字符格式的属性和方法,而使用ParagraphFormat属性来取得设置段落格式的属性和方法。以下的示例设置了活动文档中第一段的字符格式和段落格式。WithActiveDocument.Paragraphs(1).Range.Font.Name="TimesNewRoman".Size=14.AllCaps=TrueEndWithWithActiveDocument.Paragraphs(1).Range.ParagraphFormat.LeftIndent=InchesToPoints(0.5).Space1EndWith重新定义Range对象可以使用SetRange方法来重新定义一个已经存在的Range对象。以下的示例定义myRange为当前的选定内容。SetRange方法重新定义myRange使它表示当前的选定内容加上随后的十个字符。SetmyRange=Selection.RangemyRange.SetRangeStart:二myRange.Start,End:二myRange.End+10要获得重新定义Range对象的其他信息和示例,请参阅“帮助”中“SetRange方法”。用户也可以通过改变Start属性和End属性的值,或者使用MoveStart方法或MoveEnc方法来重新定义一个Range对象。以下的示例重新定义myRange对象,使它表示当前的选定内容加上随后的十个字符。SetmyRange=Selection.RangemyRange.End=myRange.End+10以下的示例使用MoveEnc方法扩展了myRange使它包含下一段。SetmyRange=ActiveDocument.Paragraphs(2)myRange.MoveEndUnit:二wdParagraph,Count:=1在范围内的段落中循环可以通过几种不同的方法在范围内的段落中进行循环。本节包含使用ForEach…Next语句和Next属性及方法在范围内的段落中进行循环的内容。也可以使用同样的技术在范围内的字符、单词或句子中进行循环。使用ForEach...Next语句建议在范围内进行段落循环时使用ForEach...Next语句,另外建议在集合内进行循环时也同样使用该语句。以下的示例在获得文档的前五段中进行循环,在每段之前添加文字。SetmyDoc=ActiveDocumentSetmyRange=myDoc.Range(Start:二myDoc.Paragraphs(l).Range.Start,End:=myDoc.Paragraphs(5).Range.End)ForEachparaInmyRange.Paragraphspara.Range」nsertBefore"Question:"&vbTabNextpara假定用户想修改上述的代码,在范围内对用户选定的段落进行循环。可以使用Selection属性来表示选定内容中的各个段落。以下的示例在选定内容的段落中进行循环,去除加粗格式。ForEachparaInSelection.Paragraphspara.Range.Bold=FalseNextpara使用Next属性或方法用户也可以使用Next属性和方法在范围的段落中进行循环。以下的示例说明了怎样在范围的单词中进行循环,将每个单词增大一点字号。SetmyRange=ActiveDocument.Words(1)Fori=1To5myRange.Font.Size=myRange.Font.Size+iSetmyRange=myRange.Next(Unit:=wdWord,Count:=1)Nexti以下的示例在范围的段落中进行循环,将范围的对齐方式由居中改为左对齐。该示例也使用Next属性重新定义了myRange使它表示下一段。SetmyRange=ActiveDocument.Paragraphs(1).RangeFori=1To5IfmyRange.Paragraphs(1).Alignment=wdAlignParagraphCenterThenmyRange.Paragraphs(1).Alignment=wdAlignParagraphLeftEndIfSetmyRange=myRange.Paragraphs(1).Next.RangeNexti将Range对象赋值给变量可以通过几种途径来把一个已经存在的Range对象赋给一个变量。在以下示例中,变量Rangel和变量Range2都表示Range对象。在该示例中命令把活动文档中第一和第二个单词分别赋值给变量Range1和Range2。SetRange1=ActiveDocument.Words(1)SetRange2=ActiveDocument.Words(2)设置一个Range对象变量等价于另一个Range对象变量以下的示例创建变量Range2并且与Rangel相同。SetRange2=Range1现在就有两个变量表示着同样的范围。当用户调整Range2的起始位置、终止位置或者文字时,所做的更改也同样会影响到Range1,反之亦然。以下的示例将Rangel默认属性(Text属性)的值赋给Range2的默认属性。在此示例中的代码等价于Range2.Text=Range1.Text,它没有改变Range对象实际所表示的内容,它仅仅改变Range2的contents(text)。Range2=Range1这两个范围(Range2和Rangel)包含有相同的内容,但是它们可能指向文档中的不同位置,或者干脆是不同的文档。使用Duplicate属性以下的示例创建了一个新复制的Range对象,Range2该对象有着和Rangel—样的起始位置、终止位置以及文字内容。SetRange2=Range1.Duplicate如果改变了Rangel的起始位置或是终止位置,这种改变并不会影响到Range2反之亦然。但是,因为这两个范围指向文档的相同位置,改变一个范围中的文字内容也会同时改变另一个范围的文字内容。运用文档构成部分一个文档构成部分是文档中的一个区域,该区域中的文字区别于文档中的其他区域。例如,如果一个文档包含了正文文字、脚注和页眉,则该文档就包含了文档正文部分、脚注部分和页眉部分。可以使用StoryType属性来返回指定范围、选定内容或书签的文档构成部分。如果在脚注部分中包含了选定内容,那么下例将关闭活动窗口中的脚注窗格。ActiveWindow.View.Type=wdNormalViewIfSelection.StoryType=wdFootnotesStoryThenActiveWindow.ActivePane.CloseStoryRanges集合包含了一个文档中每种有效的文档构成部分类型的第一个过程部分范围。可以使用NextStoryRange方法来返回以后的文档构成部分。以下的示例搜索活动文档中的每个文档过程部分来找出文字“MicrosoftWord”。该示例也将它每次找到的文字全部设置为斜体。ForEachmyStoryRangeInActiveDocument.StoryRangesmyStoryRange.Find.ExecuteFindText:="MicrosoftWord",Forward:=TrueWhilemyStoryRange.Find.FoundmyStoryRange.Italic=TruemyStoryRange.Find.ExecuteFindText:="MicrosoftWord",_Forward:=True,Format:=TrueWendWhileNot(myStoryRange.NextStoryRangeIsNothing)SetmyStoryRange=myStoryRange.NextStoryRangemyStoryRange.Find.ExecuteFindText:="MicrosoftWord",Forward:=TrueWhilemyStoryRange.Find.FoundmyStoryRange.Italic=TruemyStoryRange.Find.ExecuteFindText:二"MicrosoftWord",_Forward:二True,Format:二TrueWendWendNextmyStoryRange运用Selection对象当用户使用Word中的某个文档时,通常会先选择文字,然后再执行一项操作,比如设定以有文字的格式,或是键入新文字。在VisualBasic中,通常没有必要在修改文字之前先选定该文字;而是创建一个表示文档特定部分的Range对象并对其进行操作。但是,当用户想要自己的代码对选定内容作出响应或是改变选定内容,就可以通过Selection对象来完成任务。可以使用Selection属性来返回Selection对象。在文档窗口的每个窗格中只能有一个Selection对象,在任何时刻,也只能有一个活动的Selection对象。选定内容可以包含文档的一块区域,也可以被折叠到一个插入点。以下的示例改变了选定内容中各个段的段落格式。Selection.Paragraphs.SpaceBefore=InchesToPoints(0.25)Selection属性可以在Application对象、Window对象和Pane对象中使用。如果随同Application对象使用Selection属性,则该Selection对象表示活动的选定内容。Selection.lnsertAfterText:二"NextText"也可以随同一个Window对象或Pane对象使用Selection属性来返回一个在特定窗口或窗口窗格中Selection对象。以下的示例随同Window对象使用Selection属性,在文档窗口“Document2中插入文字。Windows("Document2").Selection.lnsertAfterText:="NewText"以下的示例随同Pane对象使用Selection属性,在主页眉窗格中插入文字。WithActiveWindow.View.Type=wdPageView.View.SeekView=wdSeekPrimaryHeader.ActivePane.Selection.InsertAfterText:="Header"EndWith在使用InsertAfter方法或InsertBefore方法之后,选定内容随之扩大,包括了新的文字。但是,用户也可以使用Collapse方法将选定内容折叠到它的起始或终止位置。以下的示例在选定内容的文字之后插入单词“Hello”,任何将选定内容折叠到单词“Hello”之后的插入点。Selection.InsertAfterText:="Hello"Selection.CollapseDirection:=wdCollapseEnd移动和扩展选定内容用户可以通过几种方法来移动或扩展由Selection对象所表示的选定内容(例如,Move和MoveEnd。以下的示例将选定内容移动到下一段的开头。Selection.MoveDownUnit:=wdParagraph,Count:=1,Extend:=wdMove用户也可以通过改变Selection对象的Start属性及End属性的值,或者通过MoveStart和MoveEnc方法来移动或扩展选定内容。以下的示例通过把终止位置移动到段尾来对选定内容进行扩展。Selection.MoveEndUnit:=wdParagraph,Count:=1因为在一个文档窗口或窗格中只能有一个选定内容,用户也可以通过选定另一个对象来移动选定内容。可以使用Select方法,选择文档的一项。在使用Select方法之后,就可以使用Selection属性返回一个Selection对象。以下的示例选定了活动文档中的第一个单词,然后把该单词变为“Hello”。ActiveDocument.Words(1).SelectSelection.Text="Hello"用户也可以通过GoToNext方法、GoToPrevious方法或GoTo方法来移动选定内容。以下的示例将选定内容移动到文档中的第四行。Selection.GoToWhat:=wdGoToLine,Which:=wdGoToAbsolute,Count:=4以下的示例将选定内容恰好移动到活动文档中的下一个域之前。Selection.GoToNextWhat:=wdGoToField在Selection对象使用的对象可以在Range对象和Document对象中使用的许多其他对象也能在Selection对象中使用,这使得用户可以在一个选定内容中控制操纵对象。要获得能在Selection对象使用的对象的完整列表,请参阅“帮助”中的“MicrosoftWord对象(Selection)”,或者“Selection对象”。以下的示例更新了选定内容中各个域的结果。IfSelection.Fields.Count>=1ThenSelection.Fields.Update以下的示例将一节中的各个段落缩进了0.5英寸。Selection.Paragraphs.LeftIndent=InchesToPoints(0.5)用户可以使用ForEach...Next语句在选定内容中的单个对象上进行循环操作,来代替对选定内容中的所有对象逐个进行控制操纵。以下的示例在选定内容的每个段落上进行循环操作,将找到的任何居中的段落变为左对齐。ForEachparaInSelection.ParagraphsIfpara.Alignment=wdAlignParagraphCenterThenpara.Alignment=_wdAlignParagraphLeftNextpara以下的示例显示出选定内容中每个书签的名字。ForEachaBookInSelection.BookmarksMsgBoxaBook.NameNextaBookSelection对象的属性和方法本节突出介绍Selection对象的一些常用属性和方法。返回或设置选定内容中的文字可以使用Text属性来返回或设置一个Selection对象的内容。以下的示例返回所选的文字。strText=Selection.Text以下的示例将所选文字改为“HelloWorld”。Selection.Text="HelloWorld"可以InsertBefore方法或InsertBefore方法,在选定内容之前或之后插入文字。以下的示例在选定内容之前插入了文字。Selection.InsertBeforeText:="Andfurthermore"为许多文字设定格式可以使用Font属性来访问设置字符格式的属性和方法,也可以使用ParagraphFormat属性来访问设置段落格式的属性和方法。以下的示例设置了选定内容的字符和段落格式。WithSelection.Font.Name="TimesNewRoman".Size=14EndWithSelection.ParagraphFormat.LeftIndent=InchesToPoints(0.5)返回一个Range对象如果一种方法或属性是在Range对象而不是Selection对象中使用的(例如,CheckSpelling方法),那么可以使用Range属性来从Selection对象返回一个Range对象。以下的示例对所选单词进行拼写检查。Selection.Range.CheckSpelling返回关于选定内容的信息可以使用Information属性来返回关于选定内容的信息。例如,用户可以判断当前页的页码、文档的总页数,或是判断选定内容是否在一个页眉或注脚中。Information属性可取三十五种不同的常量(wdActiveEndPageNumber,wdNumberOfPagesInDocument和wdInHeaderFooter等等),用户可以使用它们来返回关于选定内容的不同信息。举个例子,如果选定内容处于一张表格中,那么以下的示例将显示表格中的行号或列号。IfSelection.Information(wdWithInTable)=TrueThenMsgBox"Columns="&Selection.Information(wdMaximumNumberOfColumns)_&vbCr&"Rows="&Selection.Information(wdMaximumNumberOfRows)EndIf要获得可以随Information属性一起使用的常量的完整列表和说明,请参阅“帮助”中的“Information属性”。判断文字是否被选定可以使用Type属性来设置或返回选定内容在文档中被指定的方式。例如,可以
本文档为【vb操作word详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
與因
暂无简介~
格式:doc
大小:52KB
软件:Word
页数:0
分类:
上传时间:2021-10-17
浏览量:30