用VB如何在WORD指定位置上插入文字
用VBA操作Word

用VBA操作Word(转)在所有Office 应用程序中,Microsoft Word 可能是应用最广泛的应用程序,它还经常在自定义Office 解决方案中扮演重要的角色。
开发人员用各种不同的方式使用Word,有一些方式很简单,而另一些极其复杂。
无论涉及何种自定义解决方案,用Visual Basic for Applications (VBA) 处理Word 文档的基本方法都是一样的。
在本栏目中,我将概括地介绍如何使用Word,并提供一些关于如何运用Range 对象处理Word 文档内容的详细资料。
理解基本方法在Word 中,几乎所有的操作都要调用Document 对象本身或其内容。
当您用VBA 操作Word 时,Document 对象表示一个打开的文档,而且所有的Document 对象都是Application 对象的Documents 集合的成员。
文档是一个由字符、单词、句子和段落组成的集合,字符组成单词,单词组成句子,句子组成段落,等等。
因此,每一个Document 对象都具有Characters、Words、Sentences 和Paragraghs 四个集合。
此外,每个文档具有一个包含一个或多个节的Sections 集合,每一个节都有一个包含该节页眉和页脚的HeadersFooters 集合。
注意:您可以在Microsoft Office 2000 开发人员对象模型指南(英文)中查阅完整的Word 对象模型。
另外,您也可以使用对象浏览器和Microsoft Word Visual Basic 参考帮助来学习有关具体某个对象、属性、方法和事件的详细内容。
通过VBA 使用Word 时,Document 对象处于中心位置。
如果您要打开文档或创建新文档,就要创建新的Document 对象。
每个打开或新创建的文档均被添加至Documents 集合。
具有焦点的文档称为活动文档,由ActiveDocument 属性表示。
vb操作word全

ItIE.Bookmarks("mm").Ra nge.l nsertAfter " name"'在WORD 指定位置(标签)写入文本,指定位置指 WORDDim MyWord As Word.A ppi ication Dim MyWordBook As Word.Docume nt模版'MyWord = CreateObject("Word.A ppi icatio n")'MyWord.Visible = False'MyWord.ActiveDocume nt.SaveAs ("test1.doc")With MyWordBook!E一!E 除.Paragraphs(.Paragraphs.Count)贝U 表示所有行iiI ■iEit,■!E.Conten t.I nsertAfter "hello" & vbCrLf'向WORD 写入一行文字并回车.Co nte nt.l nsertAfter "hello".P aragra phs (.P aragra phs.Co un t).Ra nge.F on t.Size = 10.Co nte nt.l nsertAfter "hello"利用VB 操作WORD的基本方法I E !E !E I E,■!ESet MyWord = New Word.A ppi ication,■!ESet MyWordBook = MyWord.Docume nts.Add(Model Path & "test.dot")' 打开test.dot 用户自定义的 WORD!E■ I!'MyWord.Docume nts.O pen ("test.doc")'MyWord.ActiveDocume nt.Bookmarks .I tem("MM").Select!E■ I£i'MyWord.Selectio n.Text =" 从资料库取出的相应资料"I E■ I!EMyWordBook.ActivateIt '.P aragra phs(.P aragra phs.Co un t).Ra nge.F on t.Size = 30 '设置文字字体大小(其它设置类推)如果去P aragra phs(.P aragra phs.Co un t).Alig nment = wdAlig nP aragra phCe nter '设置文字居中等rr II 标签•Tables(1).Cell(2, 1).Ra nge.l nsertAfter " nameFDSAFDSAFDSA"'文本.Tables(1).Cell(2, 2).Ra nge.l nsertAfter "MM".Ra nge(Start:=. Paragra phs(2).Ra nge.Start + 3, En d:=. Paragra phs(2) .Ra nge.Start + 8).Font.Size = 30 '选定的文本(第二段开始位置加3至8的字体)设置字体,其它的累推.Tables(1).Cell(2, 1).Ra nge.Fo nt.Size = 20 '给选定的单元格设置字体,其它的累推Set MyWordBook = Noth ing !EI ■!E it!1、对其WORD 内容设置字体样式,以及在 WORD 中插入表格,以及表格单元格融合与填充 1I ■!E it *Qp ti on Exp licitii! Private Sub Comma nd1_Click()!E_I ■!!!Dim file name As Stri ng ! ■!EjCD.ShowSave:L!1,■!Efile name = CD.file nameiiI ■!ElOutWord file nameIE,■!E■ IliMsgBox "OK"lEnd Sub ! i!EI ■!E\[ __________________!1 !E I ■!E i f End With MyWord.Visible = True !E I ■ !E i f Set MyWord = Noth ing在WORD 第一个表格的第2行第1列插入I!E I ■!!tk! Private Fu nction OutWord(ByVal file Path As Stri ng) As Booleanii,■iSet newDoc = New Word.Docume ntI With newDoc!Earagra phs(.P aragra phs.Co un t).Ra nge.F on ="宋体"!..P aragra phs (.P aragra phs.Co un t).Ra nge.F on t.Size = 10.5!E!E,■#P aragra phs(.P aragra phs.Co un t).Alig nment = wdAlig nP aragra phRightI Lj.Co nte nt.l nsertAfter " 編号:"& vbCrLf!jI.P aragra phs(.P aragra phs.Co un t).Ra nge.F on =" 宋体"!EI;I.P aragra phs(.P aragra phs.Co un t).Ra nge.F on t.Size = 26IEI.P aragra phs(.P aragra phs.Co un t).Ra nge.F on t.Bold = TrueI ■!Ei.P aragra phs(.P aragra phs.Co un t).Alig nment = wdAlig nP aragra phCe nter ii iEI ■
在VB60中指定位置插入文字只要把下列内容复制到写字板中,另存为SetWord.cl文件,然后在把它添加到工程中,就可以使用了。
VERSION1.0CLASSBEGINMultiUe=-1'TruePeritable=0'NotPeritableDataBindingBehavior=0'vbNoneDataSour ceBehavior=0'vbNoneMTSTranactionMode=0'NotAnMTSObjectENDAttributeVB_Name=\AttributeVB_GlobalNameSpace=FaleAttributeV B_Creatable=TrueAttributeVB_PredeclaredId=FaleAttributeVB_E某poed=FalePrivatemywdappAWord.ApplicationPrivatemyelAObject '属性值的模块变量PrivateC_TemplateDocAStringPrivateC_newDocAStringPrivateC_Pi cFileAStringPrivateC_ErrMgAIntegerPublicEventHaveError()AttributeHaveError.VB_Decription=\出错时激发此事件.出错代码为ErrMg属性\'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某'ErrMg代码:1-word没有安装2-缺少参数3-没权限写文件'4-文件不存在''某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某PublicFunctionReplacePic(FindStrAString,OptionalTimeAInteger =0)AInteger'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某IfLen(C_PicFile)=0ThenC_ErrMg=2E某itFunctionEndIfDimiAIntegerDimfindt某tABooleanmyel.Find.ClearFormattingmyel.Find.Replacement.ClearFormattingWithmyel.Find.Te某t=FindStr.Replacement.Te某t=\.Forward=True.Wrap=wdFindContinue.Format=Fale.MatchCae=Fale.M atchWholeWord=Fale.MatchByte=True.MatchWildcard=Fale.MatchSoundL ike=Fale.MatchAllWordForm=FaleEndWithmyel.HomeKeyUnit:=wdStoryfindt某t=myel.Find.E某ecute(Replace:=True)IfNotfindt某tThenReplacePic=0E某itFunctionEndIfi=1DoWhilefindt某tmyel.InlineShape.AddPictureFileName:=C_PicFileIfi=TimeThenE某itDoi=i+1myel.HomeKeyUnit:=wdStoryfindt某t=myel.Find.E某ecute(Replace:=True)LoopReplacePic=iEndFunctionPublicFunctionFindThi(FindStrAString)ABooleanAttributeFindThi.VB_Decription=\查找FindStr,如果模板中有FindStr则返回True\IfLen(FindStr)=0ThenC_ErrMg=2E某itFunctionEndIfmyel.Find.ClearFormattingmyel.Find.Replacement.ClearFormattingWithmyel.Find.Te某t=FindStr.Replacement.Te某t=\.Forward=True.Wrap=wdFindContinue.Format=Fale.MatchCae=Fale.M atchWholeWord=Fale.MatchByte=True.MatchWildcard=Fale.MatchSoundL ike=Fale.MatchAllWordForm=FaleEndWithmyel.HomeKeyUnit:=wdStoryFindThi=myel.Find.E某ecuteEndFunctionPublicFunctionReplaceChar(FindStrAString,RepStrAString,Optio nalTimeAInteger=0)AInteger参数确定,为0时,替换所有\'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某Dimfindt某tABooleanIfLen(FindStr)=0ThenC_ErrMg=2RaieEventHaveErrorE某itFunctionEndIfmyel.Find.ClearFormattingmyel.Find.Replacement.ClearFormattingWithmyel.Find.Te某t=FindStr.Replacement.Te某t=RepStr.Forward=True.Wrap=wdFindContinue.Format=Fale.MatchCae=F ale.MatchWholeWord=Fale.MatchByte=True.MatchWildcard=Fale.MatchS oundLike=Fale.MatchAllWordForm=FaleEndWithIfTime>0ThenFori=1ToTimemyel.HomeKeyUnit:=wdStoryfindt某t=myel.Find.E某ecute(Replace:=wdReplaceOne)IfNotfindt某tThenE某itForNe某t Ifi=1AndNotfindt某tThenReplaceChar=0EleReplaceChar=iEndIfElemyel.Find.E某ecuteReplace:=wdReplaceAllEndIfEndFunctionPublicFunctionGetPic(PicData()AByte,FileNameAString)ABoolean AttributeGetPic.VB_Decription=\把图像数据PicData,存为PicFile指定的文件\'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某'把图像数据PicData,存为PicFile指定的文件'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某OnErrorReumeNe某t IfLen(FileName)=0ThenC_ErrMg=2RaieEventHaveErrorE某itFunctionEndIfOpenFileNameForBinaryA#1IfErr.Number<>0ThenC_ErrMg=3E某itFunctionEndIf'二进制文件用Get,Put存放,读取数据Put#1,,PicDataCloe#1 C_PicFile=FileNameGetPic=TrueEndFunctionPublicSubDeleteToEnd()AttributeDeleteToEnd.VB_Decription=\删除从当前位置到结尾的所有内容\myel.EndKeyUnit:=wdStory,E某tend:=wdE某tendmyel.DeleteUnit:=wdCharacter,Count:=1EndSubPublicSubMoveEnd()AttributeMoveEnd.VB_Decription=\光标移动到文档结尾\'光标移动到文档结尾myel.EndKeyUnit:=wdStoryEndSubPublicSubGotoLine(LineTimeAInteger)myel.GoToWhat:=wdGoToLine,Which:=wdGoToFirt,Count:=LineTime, Name:=\EndSubPublicSubOpenDoc(viewABoolean)AttributeOpenDoc.VB_Decription=\打开Word文件,View确定是否显示Word界面\OnErrorReumeNe某t'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某'打开Word文件,并给全局变量myel赋值'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某IfLen(C_TemplateDoc)=0Thenmywdapp.Document.AddElemywdapp.Document.Open(C_TemplateDoc)EndIfIfErr.Number<>0ThenC_ErrMg=4RaieEventHaveErrorE某itSubEndIf mywdapp.Viible=viewmywdapp.ActivateSetmyel=mywdapp.Application.Selection'myel.SelectEndSubPublicSubOpenWord()OnErrorReumeNe某t'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某'打开Word程序,并给全局变量mywdapp赋值'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某Setmywdapp=CreateObject(\IfErr.Number<>0ThenC_ErrMg=1RaieEve ntHaveErrorE某itSubEndIfEndSubPublicSubViewDoc()AttributeViewDoc.VB_Decription=\显示Word程序界面\mywdapp.Viible=TrueEndSubPublicSubAddNewPage()AttributeAddNewPage.VB_Decription=\插入分页符\myel.InertBreakType:=wdPageBreakEndSubPublicSubWordCut()AttributeWordCut.VB_Decription=\剪切模板所有内容到剪切板\'保存模板页面内容myel.WholeStorymyel.Cutmyel.HomeKeyUnit:=wdStoryEndSubPublicSubWordCopy()AttributeWordCopy.VB_Decription=\拷贝模板所有内容到剪切板\ myel.WholeStorymyel.Copymyel.HomeKeyUnit:=wdStoryEndSubPublicSubWordDel()myel.WholeStorymyel.Deletemyel.HomeKeyUnit:=wdStoryEndSubPublicSubWordPate()AttributeWordPate.VB_Decription=\拷贝剪切板内容到当前位置\'插入模块内容myel.PateEndSubPublicSubCloeDoc()AttributeCloeDoc.VB_Decription=\关闭Word文件模板\'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某'关闭Word文件模本'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某OnErrorReumeNe某t mywdapp.ActiveDocument.CloeFaleIfErr.Number<>0ThenC_ErrMg=3E某itSubEndIfEndSubPublicSubQuitWord()'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某'关闭Word程序'某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某OnErrorReumeNe某tmywdapp.QuitIfErr.Number<>0ThenC_ErrMg=3E某itSubEndIfEndSubPublicSubSavetoDoc()AttributeSavetoDoc.VB_Decription=\保存当前文档为FileName指定文件\OnErrorReumeNe某t'并另存为文件FileNameIfLen(C_newDoc)=0ThenC_ErrMg=2RaieEventHaveErrorE某itSubEndIfmywdapp.ActiveDocument.SaveA(C_newDoc)IfErr.Number<>0ThenC_ErrMg=3RaieEventHaveErrorE某itSubEndIfEndSubPublicPropertyGetTemplateDoc()AStringAttributeTemplateDoc.VB_Decription=\模板文件名.\TemplateDoc=C_TemplateDocEndPropertyPublicPropertyLetTemplateDoc(ByValvNewValueAString)C_Templat eDoc=vNewValueEndPropertyPublicPropertyGetnewdoc()AStringAttributenewdoc.VB_Decription=\执行CloeDoc方法时,将模板文件另存为此文件名指定的新文件.如果不指定,在执行CloeDoc方法时,将产生一个错误\newdoc=C_newDocEndPropertyPublicPropertyLetnewdoc(ByValvNewValueAString)C_newDoc=vNewV alueEndPropertyPublicPropertyGetPicFile()AStringAttributePicFile.VB_Decription=\图像文件名\PicFile=C_PicFileEndPropertyPublicPropertyLetPicFile(ByValvNewValueAString)C_PicFile=vNe wValueEndPropertyPublicPropertyGetErrMg()AIntegerAttributeErrMg.VB_Decription=\错误信息.ErrMg代码:1-word没有安装2-缺少参数3-没权限写文件4-文件不存在\ErrMg=C_ErrMgEndProperty。
EXCEL-VBA:将EXCEL的表格、图形、文字粘贴到Word中的指定位置

EXCEL-VBA:将EXCEL的表格、图形、⽂字粘贴到Word中的指定位置思路:1、Word建书签,不会的⾃⼰百度;2、EXCEL中复制;3、Word中找到书签并选中,粘贴或复制。
注意:⼀定要在EXCEL⼯具-引⽤ “Microsoft Word 1?.0 Object Library”,否则⼀些Word中的类⽆法使⽤的。
Sub test()Dim Sheet As WorksheetSet Sheet = ThisWorkbook.Sheets(1) '定义EXCEL Sheet变量Dim WordApp As Word.Application 'Word应⽤Dim WordDoc As Word.Document 'Word⽂档Set WordApp = New Word.ApplicationWordApp.Visible = TrueSet WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\Temp.docx") '打开同⽬录下的Temp.docx⽂档'表格-->WordSheet.Range("B2:F5").Copy '.CopyPicture是可以作为图⽚复制的WordDoc.Bookmarks("BookMark1").Range.Select '选择Word中的书签BookMark1WordApp.Selection.Paste'图形(柱状图等)-->WordSheet.ChartObjects(1).CopyWordDoc.Bookmarks("BookMark2").Range.SelectWordApp.Selection.Paste'⽂字-->WordWordDoc.Bookmarks("BookMark3").Range.SelectWordApp.Selection.TypeText Text:="EXCEL⽂字到Word"WordDoc.Save '保存WordDoc.Close '关⽂档WordApp.Quit '退WordSet WordDoc = Nothing '清变量Set WordApp = NothingEnd Sub。
vb操作word详解

vb操作word详解Visual Basic支持一个对象集合,该集合中的对象直接对应于Microsoft Word 97中的元素,并且通过用户界面,用户熟悉这些元素中的绝大多数。
例如,Document 对象代表了一个打开的文档,Bookmark对象代表了一个文档中的书签,而Selection对象则代表了在一个文档窗口窗格中的选定内容。
在Word中,每一类元素-文档、表格、段落、书签、域等等-都可以用Visual Basic的对象来表示。
要在Word中自动执行任务,可以使用这些对象的方法和属性。
关于理解和使用Microsoft Office 97对象模型的一般性内容,请参阅本书的第二章“理解对象模型”。
在Microsoft Office 97中的对象模型相当丰富,其中包含了大约180个对象。
要查看Word对象模型的层次关系图,请参阅“帮助”中的“Microsoft Word 对象”。
要获得对某种特定对象的详细描述,可以在此图中单击该对象的名字,或是在“帮助”的索引中对特定对象进行搜索。
怎样显示Word Visual Basic帮助要使用Word Visual Basic帮助,必须在安装过程中选择“自定义”的安装方式,并且为Word选中“Visual Basic在线帮助”复选框。
否则,安装程序不会安装Visual Basic帮助。
如果用户已经安装好了Word,那么可以再次运行Setup程序来安装Visual Basic帮助。
要查看Word Visual Basic 帮助,可以在“Visual Basic 编辑器里的“帮助”菜单中点击“目录和索引”一项。
在“帮助主题”对话框的“目录”一表中,双击“Microsoft Word Visual Basic 参考”,然后再双击“Visual Basic 参考”。
“帮助主题”对话框会重新出现,显示出Microsoft Word Visual Basic的目录和索引。
vb操作word详解

vb操作word详解Visual Basic支持一个对象集合,该集合中的对象直接对应于Microsoft Word 97中的元素,并且通过用户界面,用户熟悉这些元素中的绝大多数。
例如,Document 对象代表了一个打开的文档,Bookmark对象代表了一个文档中的书签,而Selection对象则代表了在一个文档窗口窗格中的选定内容。
在Word中,每一类元素-文档、表格、段落、书签、域等等-都可以用Visual Basic的对象来表示。
要在Word中自动执行任务,可以使用这些对象的方法和属性。
关于理解和使用Microsoft Office 97对象模型的一般性内容,请参阅本书的第二章“理解对象模型”。
在Microsoft Office 97中的对象模型相当丰富,其中包含了大约180个对象。
要查看Word对象模型的层次关系图,请参阅“帮助”中的“Microsoft Word 对象”。
要获得对某种特定对象的详细描述,可以在此图中单击该对象的名字,或是在“帮助”的索引中对特定对象进行搜索。
怎样显示Word Visual Basic帮助要使用Word Visual Basic帮助,必须在安装过程中选择“自定义”的安装方式,并且为Word选中“Visual Basic在线帮助”复选框。
否则,安装程序不会安装Visual Basic帮助。
如果用户已经安装好了Word,那么可以再次运行Setup程序来安装Visual Basic帮助。
要查看Word Visual Basic 帮助,可以在“Visual Basic 编辑器里的“帮助”菜单中点击“目录和索引”一项。
在“帮助主题”对话框的“目录”一表中,双击“Microsoft Word Visual Basic 参考”,然后再双击“Visual Basic 参考”。
“帮助主题”对话框会重新出现,显示出Microsoft Word Visual Basic的目录和索引。
vb操作word详解

vb操作WORD大全很多人都知道,用vb操作excel的表格非常简单,但是偏偏项目中碰到了VB操作word表格的部分,google、baidu搜爆了,都没有找到我需要的东西。
到是搜索到了很多问这个问题的记录。
没办法,索性只有自己去尝试了。
下面把一些代码发上来,给需要的朋友一点提示。
打开一个已经存在的wrod文件(这个文件包含了表格)Dim WordAppDim WordSet WordApp = CreateObject("Word.Application")WordApp.Vi s ible = TrueSet Word = WordApp.Documents.Open("c:\record.dot")知道了就很简单了,下面是选定某一个表格的一个单元格,并修改其内容Word.Tables(1).cell(1, 2)="内容"VBA中的这些数组元素下标都是从1开始的,比如excel的第一行一列也是ExSheet.Cells(1,1),而不是ExSheet.Cells(0,0),WORD的表格也是这样,不信自己试一下就知道了。
所以上面那句话的意思就是对整个word文档中的第一个表格的第一行第二列的内容改变为“内容”。
很简单吧?网上有些人在问是不是Word.Tables(1).cell(1, 2).range.text或者Word.Tables(1).cell(1, 2).text。
试一下就发现这2种都不对。
插入图片其实也很简单,代码如下:说到这,肯定又有人会问怎么在一个word里插入一个表格。
其实很简单:如果你的程序里涉及到合并及拆分单元格,那么你可能试一下这段代码:dim Tableset Table = w dApp.ActiveDocument.Tables.Add(wdApp.Application.Selection.Range, NumRow s:=27, NumColumn s _:=7, DefaultTableBehavior:=w dWord9TableBehavior, AutoFitBehavior:= _wdAutoFitFixed)Set mySelection = w dApp.Documents.Application.SelectionmySelection.Cells.Borders(-7).LineStyle = 1'选中表格的第2行第3列table.Cell(2, 3).Select'向下移动6格,第1个参数和第3个是常数Call w dBook.Application.Selection.MoveDow n(5, 6, 1)'合并wdBook.Application.Selection.Cells.Merge'拆分成7行2列Call w dBook.Application.Selection.Cells.Split(7, 2, True)如果大家碰到了更复杂的程序,用程序生成起来比较麻烦,那么你就可以用模板来实现了?你可以先用word做一个模板,把表格什么的全都先写好,然后保存成模板文件。
word vba获取书签文本 [Word2021中设置书签并插入书签标记文本的操作方法]
![word vba获取书签文本 [Word2021中设置书签并插入书签标记文本的操作方法]](https://img.taocdn.com/s3/m/75371195c850ad02df804170.png)
word vba获取书签文本 [Word2021中设置书签并插入书签标记文
本的操作方法]
Word2021中设置书签并插入书签标记文本的操作步骤如下:
例题:将文档中正文“高级语言程序设计”中的“程序”设置为书签(书签名为mark),并在其下一行中插入书签mark标记的文本。
点击菜单“插入”一栏。
选中要设置的文字“程序”,点击“插入”菜单下的“书签”,将会出现一个小窗口。
在小窗口的书签名下方填写“mark”,并点击右方的“添加”。
“添加”后将光标放于下一行。
接下来便是插入书签“mark”标记的文本。
在“插入”下方找到“文档部件”并点击,插入“域”,出现“域”的小窗口。
点击书签所用到的域”Ref“,点击书签名称”mark“,最后点击”确定“。
最后完成。
感谢您的阅读,祝您生活愉快。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用VB如何在WORD指定位置上插入文字在VB6.0中,操作word,使用它强大的查找、替换、删除、复制、翦切功能。
还可以把特定字符替换成图片。
有了它你就可以使用数据库中的内容或图片文件替换word文件中的特定字符。
只要把下列内容复制到写字板中,另存为SetWord.cls文件,然后在把它添加到工程中,就可以使用了。
VERSION 1.0 CLASSBEGINMultiUse = -1 'TruePersistable = 0 'NotPersistableDataBindingBehavior = 0 'vbNoneDataSourceBehavior = 0 'vbNoneMTSTransactionMode = 0 'NotAnMTSObjectENDAttribute VB_Name = "SetWord"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = TrueAttribute VB_PredeclaredId = FalseAttribute VB_Exposed = FalsePrivate mywdapp As Word.ApplicationPrivate mysel As Object'属性值的模块变量Private C_TemplateDoc As StringPrivate C_newDoc As StringPrivate C_PicFile As StringPrivate C_ErrMsg As IntegerPublic Event HaveError()Attribute HaveError.VB_Description = "出错时激发此事件.出错代码为ErrMsg属性"'*************************************************** ************'ErrMsg代码:1-word没有安装2 - 缺少参数3 - 没权限写文件' 4 - 文件不存在''*************************************************** ************Public Function ReplacePic(FindStr As String, Optional TimeAs Integer = 0) As IntegerAttribute ReplacePic.VB_Description = "查找FindStr,并替换为PicFile所指向的图片文件,替换次数由time参数确定,为0时,替换所有"'*************************************************** *****************************' 从Word.Range对象mysel中查找所有FindStr,并替换为PicFile图像' 替换次数由time参数确定,为0时,替换所有'*************************************************** *****************************If Len(C_PicFile) = 0 ThenC_ErrMsg = 2Exit FunctionEnd IfDim i As IntegerDim findtxt As Booleanmysel.Find.ClearFormattingmysel.Find.Replacement.ClearFormatting With mysel.Find.Text = FindStr.Replacement.Text = "".Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd Withmysel.HomeKey Unit:=wdStoryfindtxt = mysel.Find.Execute(Replace:=True) If Not findtxt ThenReplacePic = 0Exit FunctionEnd Ifi = 1Do While findtxtmysel.InlineShapes.AddPicture FileName:=C_PicFileIf i = Time Then Exit Doi = i + 1mysel.HomeKey Unit:=wdStoryfindtxt = mysel.Find.Execute(Replace:=True)LoopReplacePic = iEnd FunctionPublic Function FindThis(FindStr As String) As Boolean Attribute FindThis.VB_Description = "查找FindStr,如果模板中有FindStr则返回True"If Len(FindStr) = 0 ThenC_ErrMsg = 2Exit FunctionEnd Ifmysel.Find.ClearFormattingmysel.Find.Replacement.ClearFormattingWith mysel.Find.Text = FindStr.Replacement.Text = "".Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd Withmysel.HomeKey Unit:=wdStoryFindThis = mysel.Find.ExecuteEnd FunctionPublic Function ReplaceChar(FindStr As String, RepStr As String, Optional Time As Integer = 0) As IntegerAttribute ReplaceChar.VB_Description = "查找FindStr,并替换为RepStr,替换次数由time参数确定,为0时,替换所有"'*************************************************** *****************************' 从Word.Range对象mysel中查找FindStr,并替换为RepStr ' 替换次数由time参数确定,为0时,替换所有'*************************************************** *****************************Dim findtxt As BooleanIf Len(FindStr) = 0 ThenC_ErrMsg = 2RaiseEvent HaveErrorExit FunctionEnd Ifmysel.Find.ClearFormattingmysel.Find.Replacement.ClearFormattingWith mysel.Find.Text = FindStr.Replacement.Text = RepStr.Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd WithIf Time > 0 ThenFor i = 1 To Timemysel.HomeKey Unit:=wdStoryfindtxt = mysel.Find.Execute(Replace:=wdReplaceOne) If Not findtxt Then Exit ForNextIf i = 1 And Not findtxt ThenReplaceChar = 0ElseReplaceChar = iEnd IfElsemysel.Find.Execute Replace:=wdReplaceAllEnd IfEnd FunctionPublic Function GetPic(PicData() As Byte, FileName As String) As BooleanAttribute GetPic.VB_Description = "把图像数据PicData,存为PicFile指定的文件"'*************************************************** *****************************' 把图像数据PicData,存为PicFile指定的文件'*************************************************** *****************************On Error Resume NextIf Len(FileName) = 0 ThenC_ErrMsg = 2RaiseEvent HaveErrorExit FunctionEnd IfOpen FileName For Binary As #1If Err.Number <> 0 ThenC_ErrMsg = 3Exit FunctionEnd If'二进制文件用Get,Put存放,读取数据Put #1, , PicDataClose #1C_PicFile = FileNameGetPic = TrueEnd FunctionPublic Sub DeleteToEnd()Attribute DeleteToEnd.VB_Description = "删除从当前位置到结尾的所有内容"mysel.EndKey Unit:=wdStory, Extend:=wdExtendmysel.Delete Unit:=wdCharacter, Count:=1End SubPublic Sub MoveEnd()Attribute MoveEnd.VB_Description = "光标移动到文档结尾" '光标移动到文档结尾mysel.EndKey Unit:=wdStoryEnd SubPublic Sub GotoLine(LineTime As Integer)mysel.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=LineTime, Name:=""End SubPublic Sub OpenDoc(view As Boolean)Attribute OpenDoc.VB_Description = "打开Word文件,View确定是否显示Word界面"On Error Resume Next'*************************************************** *****************************' 打开Word文件,并给全局变量mysel赋值'*************************************************** *****************************If Len(C_TemplateDoc) = 0 Thenmywdapp.Documents.AddElsemywdapp.Documents.Open (C_TemplateDoc)End IfIf Err.Number <> 0 ThenC_ErrMsg = 4RaiseEvent HaveErrorExit SubEnd Ifmywdapp.Visible = viewmywdapp.ActivateSet mysel = mywdapp.Application.Selection'mysel.SelectEnd SubPublic Sub OpenWord()On Error Resume Next'*************************************************** *****************************' 打开Word程序,并给全局变量mywdapp赋值'*************************************************** *****************************Set mywdapp = CreateObject("word.application")If Err.Number <> 0 ThenC_ErrMsg = 1RaiseEvent HaveErrorExit SubEnd IfEnd SubPublic Sub ViewDoc()Attribute ViewDoc.VB_Description = "显示Word程序界面" mywdapp.Visible = TrueEnd SubPublic Sub AddNewPage()Attribute AddNewPage.VB_Description = "插入分页符" mysel.InsertBreak Type:=wdPageBreakEnd SubPublic Sub WordCut()Attribute WordCut.VB_Description = "剪切模板所有内容到剪切板"'保存模板页面内容mysel.WholeStorymysel.Cutmysel.HomeKey Unit:=wdStoryEnd SubPublic Sub WordCopy()Attribute WordCopy.VB_Description = "拷贝模板所有内容到剪切板"mysel.WholeStorymysel.Copymysel.HomeKey Unit:=wdStoryEnd SubPublic Sub WordDel()mysel.WholeStorymysel.Deletemysel.HomeKey Unit:=wdStoryEnd SubPublic Sub WordPaste()Attribute WordPaste.VB_Description = "拷贝剪切板内容到当前位置"'插入模块内容mysel.PasteEnd SubPublic Sub CloseDoc()Attribute CloseDoc.VB_Description = "关闭Word文件模板" '*************************************************** *****************************' 关闭Word文件模本'*************************************************** *****************************On Error Resume Nextmywdapp.ActiveDocument.Close FalseIf Err.Number <> 0 ThenC_ErrMsg = 3Exit SubEnd IfEnd SubPublic Sub QuitWord()'*************************************************** *****************************' 关闭Word程序'*************************************************** *****************************On Error Resume Nextmywdapp.QuitIf Err.Number <> 0 ThenC_ErrMsg = 3Exit SubEnd IfEnd SubPublic Sub SavetoDoc()Attribute SavetoDoc.VB_Description = "保存当前文档为FileName指定文件"On Error Resume Next'并另存为文件FileNameIf Len(C_newDoc) = 0 ThenC_ErrMsg = 2RaiseEvent HaveErrorExit SubEnd Ifmywdapp.ActiveDocument.SaveAs (C_newDoc)If Err.Number <> 0 ThenC_ErrMsg = 3RaiseEvent HaveErrorExit SubEnd IfEnd SubPublic Property Get TemplateDoc() As StringAttribute TemplateDoc.VB_Description = "模板文件名." TemplateDoc = C_TemplateDocEnd PropertyPublic Property Let TemplateDoc(ByVal vNewValue As String) C_TemplateDoc = vNewValueEnd PropertyPublic Property Get newdoc() As StringAttribute newdoc.VB_Description = "执行CloseDoc方法时,将模板文件另存为此文件名指定的新文件.如果不指定,在执行CloseDoc方法时,将产生一个错误"newdoc = C_newDocEnd PropertyPublic Property Let newdoc(ByVal vNewValue As String)C_newDoc = vNewValueEnd PropertyPublic Property Get PicFile() As StringAttribute PicFile.VB_Description = "图像文件名"PicFile = C_PicFileEnd PropertyPublic Property Let PicFile(ByVal vNewValue As String)C_PicFile = vNewValueEnd PropertyPublic Property Get ErrMsg() As IntegerAttribute ErrMsg.VB_Description = "错误信息.ErrMsg代码: 1-word没有安装2-缺少参数3-没权限写文件4-文件不存在"ErrMsg = C_ErrMsgEnd Property。