vb操作word详细讲解
vbaword基本操作(经典)

vbaword基本操作(经典)一.方法:Word打开方法时调用的方法:Document_Open()Word关闭时调用的方法:Document_Close()调用subInt过程:Call subIntFunction fun() As Integer‘代码Fun=1End Function调用fun函数:在其他调用的方法或函数中直接用函数(因为函数要返回一个值),比如:if(fun=1)then….end if1.1操作文件:Private Sub deleteXML()‘判断文件是否存在,然后删除文件If Dir(ThisDocument.Path + "/" + filename1) <> "" ThenKill (ThisDocument.Path + "/" + filename1) ‘End IfEnd SubPrivate Sub rename()‘重命名文件If Dir(ThisDocument.Path + "/" + "temp.xml") <> "" ThenName ThisDocument.Path & "/" & "temp.xml" As ThisDocument.Path & "/" & filename1End IfEnd Sub‘取得同目录下文件的名字Private Sub HX_FileName()Dim fso As Object, folder As Object, subfolder As Object, objFile As Scripting.file '创建FSO对象Set fso = CreateObject("scripting.filesystemobject")Set folder = fso.GetFolder(Path)For Each objFile In folder.FilesIf Strings.Right(, 8) = "gplx.xml" And Len() > 8 Then filename1 = NextEnd Sub二.声明变量Dim a as IntegerPublic mybut As CommandBarButtonPublic mybar As CommandBar三.常用语句1.If(a=1) thenElseEnd if2.do while a<26Loop3. For ID = 0 To count - 1 Step 1pidtemp = “123”exit for ‘如果要跳出for语句,就加上此句Next ID四:字符串字符串的替换:将textbox1中的内容的回车和换行都替换为空。
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做一个模板,把表格什么的全都先写好,然后保存成模板文件。
VB操作WORD详解

VB操作WORD详解VB操作Word是一种常见的编程任务,可以用来自动化创建、修改和格式化Word文档。
VB是Visual Basic的简称,是一种简单易学的编程语言,广泛应用于Windows平台上的开发工作。
下面将详细介绍如何使用VB操作Word。
一、引用和初始化Word对象模型在使用VB操作Word之前,需要先引用Word对象模型。
在VB的项目中,点击“项目”菜单,选择“引用”,在弹出的对话框中找到并勾选“Microsoft Word xx.0 Object Library”(这里的xx表示Word的版本号),点击“确定”进行引用。
在VB中操作Word,首先要创建一个Word.Application对象,用来表示Word应用程序实例,在这个实例上进行后续的操作。
可以使用如下代码创建Word应用程序实例:Dim wdApp As Word.ApplicationSet wdApp = New Word.Application二、打开、创建和保存Word文档1. 打开现有的Word文档可以使用如下代码打开一个现有的Word文档:Dim wdDoc As Word.DocumentSet wdDoc = wdApp.Documents.Open("C:\path\to\your\file.docx")2. 创建新的Word文档可以使用如下代码创建一个新的Word文档:Dim wdDoc As Word.DocumentSet wdDoc = wdApp.Documents.Add3. 保存Word文档可以使用如下代码保存一个Word文档:wdDoc.SaveAs "C:\path\to\save\your\file.docx"三、操作Word文档内容1.读取和写入文本内容可以使用如下代码读取和写入文本内容:Dim strText As StringstrText = wdDoc.Range.Text '读取文档内容到字符串变量wdDoc.Range.Text = "Hello, World!" '向文档中写入文本内容2.插入和删除文本内容可以使用如下代码插入和删除文本内容:wdDoc.Range.InsertBefore "Insert Before" '在光标位置之前插入文本wdDoc.Range.InsertAfter "Insert After" '在光标位置之后插入文本wdDoc.Range.Delete '删除光标当前所在位置的文本3.格式化文本内容可以使用如下代码格式化文本内容,如设置字体、大小、颜色等: = "Arial" '设置字体为ArialwdDoc.Range.Font.Size = 12 '设置字体大小为12wdDoc.Range.Font.Color = RGB(255, 0, 0) '设置字体颜色为红色四、操作Word文档样式和格式1.设置段落样式可以使用如下代码设置段落的样式,如对齐方式、缩进等:wdDoc.Range.Paragraphs.Alignment = wdAlignParagraphCenter '设置居中对齐wdDoc.Range.Paragraphs.LeftIndent = 36 '设置左缩进为0.5英寸2.设置页面样式可以使用如下代码设置页面的样式,如边距、纸张大小等:wdDoc.PageSetup.TopMargin = 72 '设置页边距上为1英寸wdDoc.PageSetup.PaperSize = wdPaperA4 '设置纸张大小为A43.插入表格可以使用如下代码插入一个表格到Word文档:Dim wdTable As Word.TableSet wdTable = wdDoc.Tables.Add(wdDoc.Range, 3, 3) '添加3行3列的表格4.格式化表格可以使用如下代码格式化表格,如设置边框、背景颜色等:wdTable.Borders.InsideLineStyle = wdLineStyleSingle '设置内部边框为实线wdTable.Borders.OutsideLineStyle = wdLineStyleDouble '设置外部边框为双线wdTable.Rows(1).Cells(1).Shading.BackgroundPatternColor = RGB(255, 0, 0) '设置第一行第一列的背景颜色为红色五、关闭Word应用程序使用完Word应用程序后,需要关闭它以释放系统资源。
VB操作word总结

请耐心看完:问题出现得较复杂。
我的目的:将多个文档内容逐一拷贝粘贴到另一文档后面我的方法:wordapp=new word.applicationSet doc = wordapp.Documents.AddwhilepathTemp = App.Path & "\temp.doc"LoadFile rs("word"), pathTempSet doctemp = wordapp.Documents.Open(pathTemp)doctemp.Content.Selectwordapp.Selection.copySet myRange = doc.Range(Start:=doc.Content.End - 1, En d:=doc.Content.End)myRange.Select' wordapp.Selection.deletewordapp.Selection.InsertParagraphBeforewordapp.Selection.Collapse wdCollapseEndwordapp.Selection.pasteClipboard.Cleardoctemp.Close wdDoNotSaveChangesdoc.SaveAs App.Path & "\papertemp.doc"如果我的文档(待拷贝的文档,这些文档都是从数据库中读出来的,存在pathTemp文件中)都较小的话,我的程序可以顺利完成任务,如果其中一个文档较大,那么问题出现了,但是问题不是马上出现,该文档的内容能顺利从数据库下载到文件pathTemp中,也能打开到doctemp中,复制粘贴到doc中也没有问题,但是关闭doctemp时却发现隐藏的~$temp.doc并没有消失(意味着doctemp并没有关闭?),接着我把下一个文档从数据库读出放到doctemp中也能完成,temp.doc中内容正确,但是当我用Set doctemp = wordapp.Documents.Open(pathTemp)打开时却出现了问题,运行时错误‘5121’文档的名称或路径无效,请使用如下建议:....手动打开temp.doc也出现同样的错误,但是当我关掉doc(即papertemp.doc)时,打开temp.doc却是正常,而且里面数据也正常请高手指教,愿送所有分问题点数:100、回复次数:8Top1 楼faysky2(出来混,迟早是要还嘀)回复于2005-10-26 01:19:45 得分4是着释放doctemp 看看:....Clipboard.Cleardoctemp.Close wdDoNotSaveChangesdoc.SaveAs App.Path & "\papertemp.doc"Set doctemp=Nothing'--->释放掉doctempTop2 楼hapluo(言先必行,多说无益)回复于2005-10-26 20:49:54 得分0还是不行,哪位高手帮我解决,另送200分Top3 楼hapluo(言先必行,多说无益)回复于2005-10-26 20:56:53 得分0这个号所有分相送,这个号就剩500分了,数来帮我啊,分不够我另外一个号还可再加!Top4 楼hapluo(言先必行,多说无益)回复于2005-10-26 21:28:55 得分0help,Top5 楼mylord()回复于2005-10-26 21:55:46 得分2正在学习中...Top6 楼northwolves(狼行天下)回复于2005-10-26 23:46:20 得分90何必打开,直接合并不行? 试试:Private Sub Command1_Click()Dim wordapp As New Word.application, doc As New Document, pathtemp As StringSet doc = wordapp.Documents.Open(App.Path & "\papertemp.doc")doc.Content.SelectDo While Not rs.EOFpathtemp = App.Path & "\temp.doc"LoadFile rs("word"), pathtemp'你写的过程吧With wordapp.selection.InsertFile FileName:=pathtemp, ConfirmConversions:=False.InsertParagraphAfter.InsertBreak Type:=wdSectionBreakNextPage.Collapse Direction:=wdCollapseEndEnd WithKill pathtemprs.movenextLoopdoc.SaveEnd IfTop7 楼faysky2(出来混,迟早是要还嘀)回复于2005-10-26 23:48:40 得分4把doc也关掉试试:.....Clipboard.Cleardoctemp.Close wdDoNotSaveChangesdoc.SaveAs App.Path & "\papertemp.doc"doctemp.Quitdoc.QuitSet doc=Nothing Top8 楼hapluo(言先必行,多说无益)回复于2005-10-27 00:57:23 得分0northwolves(狼行天下) ,非常感谢,虽然没有问题之所在,但是绕开了问题相当于解决了问题,再次感谢!有什么办法可以把分一下相送,以示感激之情?除了多开几贴还有其他办法嘛?vb控制word的类模块,查找、替换Word文档内容在VB6.0中,操作word,使用它强大的查找、替换、删除、复制、翦切功能。
如何在 VBA 中操作 Word 文档

如何在 VBA 中操作 Word 文档VBA(Visual Basic for Applications)作为一种用于自动化任务的编程语言,与Microsoft Office套件紧密结合,使用户能够使用宏和脚本来对Office应用程序进行编程操作。
在本文中,我们将重点介绍如何使用VBA来操作Word文档。
1. 创建和打开Word文档在VBA中,可以使用Application对象来创建和打开Word 文档。
下面是创建一个新文档和打开一个已存在的文档的示例代码:```vbaSub CreateAndOpenDocument()Dim WordApp As Object ' 创建一个Word应用程序对象Set WordApp = CreateObject("Word.Application")Dim WordDoc As Object ' 创建一个新文档Set WordDoc = WordApp.Documents.Add' 打开一个已存在的文档WordApp.Documents.Open("C:\Path\To\Your\Document.docx") ' 执行其他操作...' 关闭Word应用程序对象WordApp.QuitEnd Sub```2. 插入和编辑文本在Word文档中插入和编辑文本是VBA中的常见操作。
要在文档中插入文本,可以使用Selection对象的TypeText方法,如下所示:```vbaSub InsertText()Selection.TypeText Text:="这是要插入的文本。
"End Sub```要编辑已存在的文本,可以使用Selection对象的Text属性来访问和修改文本内容,如下所示:```vbaSub EditText()Selection.Text = "这是修改后的文本。
[VIP专享]vb操作word详解
![[VIP专享]vb操作word详解](https://img.taocdn.com/s3/m/dbc62da6eefdc8d377ee3273.png)
vb操作WORD大全很多人都知道,用vb操作excel的表格非常简单,但是偏偏项目中碰到了VB操作word表格的部分,google、baidu搜爆了,都没有找到我需要的东西。
到是搜索到了很多问这个问题的记录。
没办法,索性只有自己去尝试了。
下面把一些代码发上来,给需要的朋友一点提示。
打开一个已经存在的wrod文件(这个文件包含了表格)Dim WordAppDim WordSet WordApp = CreateObject("Word.Application")WordApp.Visible = 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 = wdApp.ActiveDocument.Tables.Add(wdApp.Application.Selection.Range, NumRows:=27, NumColumn s _:=7, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _wdAutoFitFixed)Set mySelection = wdApp.Documents.Application.SelectionmySelection.Cells.Borders(-7).LineStyle = 1'选中表格的第2行第3列table.Cell(2, 3).Select'向下移动6格,第1个参数和第3个是常数Call wdBook.Application.Selection.MoveDown(5, 6, 1)'合并wdBook.Application.Selection.Cells.Merge'拆分成7行2列Call wdBook.Application.Selection.Cells.Split(7, 2, True)如果大家碰到了更复杂的程序,用程序生成起来比较麻烦,那么你就可以用模板来实现了?你可以先用word做一个模板,把表格什么的全都先写好,然后保存成模板文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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的目录和索引。
运用Application 对象在用户启动一个Word 时段的同时,也创建了一个Application 对象。
用户可以使用Application 对象的属性或方法来控制或返回应用程序围的特性、控制应用程序窗口的外观或者调整Word 对象模型的其他方面。
可以使用Application属性来返回Word Application 对象。
以下的示例从视图状态切换到打印预览状态。
Application. PrintPreview = TrueApplication对象的一些属性控制着应用程序的外观。
例如,如果DisplayStatusBar属性为True(真),那么状态栏是可见的,如果WindowState属性值为wdWindowStateMaximize,那么应用程序窗口处于最大化状态。
以下的示例设置了屏幕上应用程序窗口的大小。
With Application.WindowState = wdWindowStateNormal.Height = 450.Width = 600End WithApplication对象的属性也可以访问处于对象层次中较低级的对象,比如Windows集合(代表了当前所有打开的窗口)和Documents集合(代表了当前所有打开的文档)。
用户可以使用属性,有时候也叫做访问者,从对象层次中最高一级的Application对象向下访问到较低级的对象(Document对象、Window对象、 Selection对象等等)。
可以使用以下两个示例之一来打开MyDoc.doc。
Application. Documents. Open FileName :="C:\DOCS\MYDOC.DOC"Documents. Open FileName :="C:\DOCS\MYDOC.DOC"因为Document属性是共用的,所以Application属性是可选的。
共用属性和方法无需Application 对象限定符。
要在“对象浏览器”中浏览共用属性和方法的列表,可以在“类别”栏中单击“<共用>”。
共用项就会列在“成员”栏中。
注释 Option对象包含了控制Word 共用行为的一些属性。
许多Option对象的属性对应于Option对话框中的各项(Tools 菜单)。
使用Application 对象的Option属性可以返回Option 对象。
以下的示例设置了三个应用程序围的选项(因为Option属性是共用的,所以在本示例中无需Application属性)。
With Application.Options.AllowDragAndDrop = True.ConfirmConversions = False.MeasurementUnit = wdPointsEnd With运用Document对象当用户在Word中打开或创建一个文件的同时,也创建了一个Document对象。
用户可以使用Document对象或Documents集合的属性或方法来打开、创建、保存、激活或者关闭文件。
返回Document对象用户可以使用语法Documents (index)来返回作为一个Document 对象的任何打开的文档,在这里index是该文档的名字或索引号。
在以下的示例中,变量myDoc包含一个Document对象,该对象代表名为“Report.doc”的打开的文档。
Set myDoc = Documents ("Report.doc")索引号代表了文档在Documents集合中的位置。
在以下的示例中,变量myDoc包含了一个Document对象,该对象代表Documents 集合中的第一个文档。
Set myDoc = Documents(1)注释因为当用户添加或关闭多个文档时,某个特定文档的索引号会发生改变,所以最好使用文档的名字来对Documents集合中的Document对象进行索引。
除了通过文档的名字或索引号来引用文档,还可以使用ActiveDocument属性来返回一个引用活动文档(当前着眼的文档)的Document对象。
以下的示例显示产活动文档的名字;如果没有打开的文档,则该示例显示一条消息。
If Documents. Count >= 1 ThenMsgBox ActiveDocument. NameElseMsgBox "No documents are open"End If打开文档要打开一个已经存在的文档,可以使用Open方法。
Open方法应用于通过Document属性返回的Documents集合。
以下的示例打开了文件Test.doc(从当前文件夹)并且启动了更改跟踪。
Set myDoc = Documents. Open (FileName :="TEST.DOC")myDoc. TrackRevisions = True注意到在上例中Open方法的返回值是一个Document对象,该对象表示刚被打开的文档。
在此示例中的文件名不包含路径;因此,是假定了该文件在当前的文件夹中。
但这会导致出现一个运行时错误,因为一旦用户创建了与当前文件夹不同的文件夹,Visual Basic就再也找不到该文件了。
但是,用户可以通过指明完整的路径,就如同下表所示的那样,来确保打开正确的文件。
如果用户的宏只用于一种文件系统,那么可以在FileName参数中指定路径分隔符(“\”或者“:”),就如同上表所示的那样。
以下示例显示了与文件系统无关的代码,可以用来打开Sales.doc,并且假定Sales.doc已经保存在Word 的程序文件夹中。
programPath = Options. DefaultFilePath (wdProgramPath) Documents. Open FileName :=programPath & Application. PathSeparator & "SALES.DOC"PathSeparator属性返回当前文件系统(例如,“\”用于MS-DOS/Windows的文件分配表,或者“:”用于Macintosh)的正确的文件分隔符。
DefaultFilePath属性返回文件的位置,比如文档所在文件夹的路径、程序文件夹或者当前文件夹。
如果所指定的文件名既没有在当前文件夹(如果没有指定路径)出现也没有在指定的文件夹(如果指定了路径)中出现,那么就会发生错误。
以下的示例使用FileSearch对象的属性和方法来判断名为“Test.doc”的文件是否存在于用户的默认文档文件夹中。
如果找到了该文件(FoundFiles. Count = 1),那么就打开它;否则,显示一条消息。
defaultDir = Options. DefaultFilePath (wdDocumentsPath) With Application. FileSearch.FileName = "Test.doc".LookIn = defaultDir.ExecuteIf .FoundFiles. Count = 1 ThenDocuments. Open FileName :=defaultDir & Application. PathSeparator & "TEST.DOC"ElseMsgBox "Test.doc file was not found"End IfEnd With也可以允许用户选择要打开的文件,而不是定死Open方法的FileName参数值。
如同以下示例所示的那样,可以使用带有wdDialogFileOpen常量的Dialogs属性来返回一个Dialog 对象,该对象表示“打开”对话框(在“文件”菜单中)。
Show方法可以显示并且执行在“打开”对话框中完成的动作。
Dialogs (wdDialogFileOpen). ShowDisplay 方法只是用来显示特定的对话框而不作任何更多的操作。
以下的示例检查Display方法的返回值。
如果用户单击“确定”来关闭对话框,返回值-1并且打开所选择的文件,该文件的名字保存在变量fSelected中。
Set dlg = Dialogs (wdDialogFileOpen)aButton = dlg. DisplayfSelected = dlg. NameIf aButton = -1 ThenDocuments. Open FileName :=fSelectedEnd If要对如何显示Word对话框作进一步了解,请参阅“帮助”中的“显示置Word 对话框”一节的容。