blog

枪手亨利

博客园 首页 新随笔 联系 订阅 管理

 

文章编号 : 222101
最后修改 : 2005年11月17日
修订 : 5.2

概要

本文介绍为自动执行 Microsoft Office 应用程序而提供的资源和文档。无论您选择使用何种编程语言来自动执行 Office 应用程序,均可以使用该信息。本文还阐述如何通过逐步完成该文档来找到通过自动执行完成特定任务所需的信息,让您能够着手编写自动化代码。

更多信息

在哪里可以找到对象模型文档?

Office 应用程序的对象模型记录在 Office 两个版本的语言参考中:Microsoft Office 97 Visual Basic for Applications 语言参考
ISBN 1-57231-339-0

Microsoft Office 2000 Visual Basic for Applications 语言参考
ISBN 1-57231-955-0。
在 MSDN 上以及 Microsoft Office 所附带的联机帮助中提供了语言参考。也可以购买印刷形式的语言参考。有关订购信息,请访问:
http://mspress.microsoft.com
下表列出了每个 Office 应用程序的帮助文件。

应用程序 版本 97(或 8.0) 版本 2000(或 9.0) 版本 2002(或 10) 版本 2003(或 11)
Office Vbaoff8.hlp Vbaoff9.chm Vbaof10.chm Vbaof11.chm
Access Acvba80.hlp Acmain9.chm Acmain10.chm、Vbaac10.chm ACMAIN11.chm、VBAAC10.chm
Excel VbaXl8.hlp Vbaxl9.chm Vbaxl10.chm VBAXL10.chm
MapPoint 暂无 Mappoint.chm (ver.2001) Mappoint.chm MAPPOINT.chmn (Ver.2004)
Outlook Vbaoutl.hlp Vbaoutl9.chm Vbaol10.chm VBAOL11.chm
PowerPoint Vbappt.hlp Vbappt9.chm Vbapp10.chm VBAPP10.chm
Word Vbawrd8.hlp Vbawrd9.chm Vbawd10.chm VBAWD10.chm
Graph Vbagrp8.hlp Vbagrp9.chm Vbagr10.chm VBAGR10.chm
FrontPage 暂无 Vbafp4.chm、Vbafpom4.chm Vbafpd10.chm、vbafpw10.chm VBAFPD10.chm、VBAFPW10.chm
Binder Vbabdr8.hlp Vbabdr8.hlp 已停止提供


Microsoft Office 97 所附带的帮助文件的默认安装位置是:
C:\Program Files\Microsoft Office\Office
如果找不到所需的 Office 97 VBA 帮助文件,可能是在最初运行 Office 97 安装程序时没有安装。要安装该帮助文件,请运行 Office 安装程序以添加 VBA 帮助文件。请注意,Outlook 97 VBA 帮助文件不是由 Office 安装程序安装的。有关安装 Outlook 97 VBA 帮助文件的信息,请查看以下 Microsoft 知识库文章:
166738 (http://support.microsoft.com/kb/166738/) OL97:如何安装 Visual Basic 帮助
Microsoft Office 2000 所附带的帮助文件的默认安装位置是:
C:\Program Files\Microsoft Office\Office\1033
Microsoft Office XP 所附带的帮助文件的默认安装位置是:
C:\Program Files\Microsoft Office\Office10\1033
C:\Program Files\Microsoft Office\Office11\1033
注意:Microsoft Office 2000、Microsoft Office XP 和 Microsoft Office 2003 安装程序在“首次使用”时安装 VBA 帮助文件。因此,如果以前未尝试过访问 Office 应用程序中的 VBA 帮助,您在此目录中可能看不到该帮助文件。

如何使用对象模型文档?

可以使用多种方法查找特定类、方法或属性的文档:
搜索 VBA 帮助文件:

在 Office 应用程序的 Visual Basic 编辑器中,单击帮助菜单上的目录索引。在目录选项卡上,选择所需的语言参考,并单击显示。将会显示您所选择的语言参考的 VBA 帮助。这时,您可以使用索引查找选项卡查找有关特定类、方法或属性的信息。
使用模块或“即时窗格”中的上下文相关的帮助:

在 Office 应用程序的 Visual Basic 编辑器中,在模块的代码窗口或即时窗口中键入类、方法或属性,突出显示该文本,并按 F1 键。将显示该项的帮助主题。
使用对象浏览器:

在 Office 应用程序的 Visual Basic 编辑器中按 F2 键显示对象浏览器对象浏览器会列出该应用程序公开的所有类以及与每个类相关联的方法或属性。要查看特定类或类成员的帮助,请在“对象浏览器”中选择它并按 F1 键。

怎样知道要使用哪些类、方法和属性?

如果您还不熟悉要自动执行的应用程序的对象模型,可使用该应用程序的宏记录器进行了解。例如,假设您希望自动执行 Microsoft Word,以便将一些文本添加到新文档,然后保存该文档,但您不知道要使用哪些方法和属性,则可以从宏记录器入手:
1. 启动 Microsoft Word。
2. 单击工具菜单上的,然后选择录制新宏。记下新宏的名称并单击确定开始录制。
3. 启动一个新文档。
4. 键入 one 并按 Enter 键。
5. 键入 two 并按 Enter 键。
6. 键入 three
7. 单击文件菜单上的保存,将该文档保存为“C:\doc1.doc”。
8. 单击停止录制按钮(或单击工具菜单上的并选择停止录制)。
9. 要查看宏记录器根据您的操作生成的 VBA 代码,请单击工具菜单上的,并选择。在列表中选择新宏的名称并单击编辑。Visual Basic 编辑器将显示所录制的宏,内容如下:
 Documents.Add
 Selection.TypeText Text:="one"
 Selection.TypeParagraph
 Selection.TypeText Text:="two"
 Selection.TypeParagraph
 Selection.TypeText Text:="three"
 ActiveDocument.SaveAs FileName:="Doc1.doc", FileFormat:=wdFormatDocument,_
   LockComments:=False, Password:="", AddToRecentFiles:=True, _ 
   WritePassword:="", ReadOnlyRecommended:=False, _
   EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
   SaveFormsData:=False, SaveAsAOCELetter:= False
					
了解每个类在对象模型中的适用程度,并了解您所使用的方法和属性的所有参数的描述和类型会使您受益匪浅。

首先查看所录制的宏的第一行:Documents.Add。突出显示所录制的宏代码模块上的 Documents,并按 F1 键。该帮助主题将显示以下重要信息:
“Documents 属性”返回表示所有打开文档的 Documents 集合。
“Documents 属性”应用于 Application 对象。
返回到所录制的宏,突出显示代码模块上的 Add,并按 F1 键。显示的帮助主题会对多个不同的对象具有一个 Add 方法进行说明。单击 Documents 查看 Documents 集合的 Add 方法的帮助。该帮助主题将显示以下重要信息:
“Add 方法”向打开的文档集合添加一个新的空文档。
“Add 方法”可以带有两个参数,它们均是可选的。
现在查看所录制的宏的第二行:Selection.TypeText Text:="one"。突出显示代码模块上的 Selection,并按 F1 键:
“Selection 属性”返回表示所选范围或插入点的 Selection 对象。
“Selection 属性”应用于 Application 对象。
返回到所录制的宏,突出显示代码模块上的 TypeText,并按 F1 键:
“TypeText 方法”插入指定的文本。
“TypeText 方法”有一个类型为 String 的必需参数。
“TypeText 方法”应用于 Selection 对象。
接下来,查看 TypeParagraph 的帮助主题:
“TypeParagraph 方法”插入一个新的空白段落。
“TypeParagraph 方法”应用于 Selection 对象,不带参数。
查看 ActiveDocument 属性和 SaveAs 方法的帮助主题:
“ActiveDocument 属性”返回一个表示文档具有焦点的 Document 对象。“ActiveDocument”应用于 Application 对象。
“SaveAs 方法”用于保存文档。根据 Word 版本的不同,此方法有 11 到 16 个参数,其中只有一个是必需的。“SaveAs”应用于 Document 对象。
您可能注意到,Documents 属性、Selection 属性和 ActiveDocument 属性都是应用于 Application 对象的属性,但在所录制的宏中没有使用“Application”进行限定。Application 对象是所有属性的默认对象,因此在 VBA 宏中编写代码时可以省略。但在编写自动化代码时却不是这样,所有属性和方法都必须在自动化代码中进行完全限定。

在查看所录制的宏时,您可以发现 SaveAs 方法有一个为其传递内置常量 wdFormatDocument 的参数。根据为自动化控制器选择的编程语言,您可能需要为内置常量传递数值。SaveAs 方法的帮助主题没有给出此信息,但您可以在对象浏览器中找到。按 F2 键显示对象浏览器。在搜索窗口中键入:

wdFormatDocument

并按 Enter 键。在对象浏览器的底部窗格中,您会看到该数值等同于 wdFormatDocument(=0) 以及有关该常量的其他信息。

参考

在哪里可以找到一些自动化代码的示例?

到此处为止所提供的信息为您编写自动化代码奠定了良好的基础。Microsoft 知识库是查找用 Visual Basic、Visual C++ 和 MFC 编写的自动化代码示例的极好资源。下面就为您列出了一些相关的知识库文章:

对于 Visual Basic 开发人员

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
220595 (http://support.microsoft.com/kb/220595/) 如何使用 Visual Basic 使 Outlook 自动运行
219151 (http://support.microsoft.com/kb/219151/) 如何在 Visual Basic 中自动运行 Microsoft Excel
147650 (http://support.microsoft.com/kb/147650/) 如何在 Visual Basic 中定位 Excel 对象
142387 (http://support.microsoft.com/kb/142387/) 如何在 Visual Basic 中创建 Excel 图表 w/OLE 自动化
184974 (http://support.microsoft.com/kb/184974/) OFF:如何在 Word 中使用 (OLE) 自动化
220607 (http://support.microsoft.com/kb/220607/) 如何在 Visual Basic 中使 Microsoft Word 自动执行邮件合并
222929 (http://support.microsoft.com/kb/222929/) 如何使用 Visual Basic 使 PowerPoint 在 Office 2003、Office XP Developer 和 Office 2000 Developer 中自动运行

Visual C++ 开发人员(使用 MFC)

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
178749 (http://support.microsoft.com/kb/178749/) 如何使用 MFC 和类型库创建自动化项目
179706 (http://support.microsoft.com/kb/179706/) 如何使用 MFC 使 Excel 自动运行、创建新工作簿并设置格式
186120 (http://support.microsoft.com/kb/186120/) 如何使用 MFC 使 Excel 自动运行并使用数组填充一个范围
186122 (http://support.microsoft.com/kb/186122/) 如何使用 MFC 使 Excel 2000 和 Excel 2002 自动运行并从 Excel 2000 和 Excel 2002 中的一个范围获得数组
220911 (http://support.microsoft.com/kb/220911/) 如何使用 Visual C++ 和 MFC 使 Microsoft Word 自动执行邮件合并
222960 (http://support.microsoft.com/kb/222960/) 如何使用 Visual C++ 5.0 或 Visual C++ 6.0 和 Microsoft 基础类使 PowerPoint 自动运行

C/C++ 开发人员(不使用 MFC)

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
216686 (http://support.microsoft.com/kb/216686/) 如何在 C++ 中不使用 MFC 或 #import 使 Excel 自动运行
181473 (http://support.microsoft.com/kb/181473/) 如何在 C 应用程序中而不是在 C++ 中使用 OLE 自动化

Visual J++ 开发人员

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
219430 (http://support.microsoft.com/kb/219430/) 如何使用 Visual J++ 自动化创建 Excel 工作簿并设计格式
215484 (http://support.microsoft.com/kb/215484/) 如何使用 Visual J++ 6.0 使 PowerPoint 自动运行

Visual FoxPro 开发人员

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
142193 (http://support.microsoft.com/kb/142193/) 如何使用 OLE 自动化向 Excel 工作表添加数据
180901 (http://support.microsoft.com/kb/180901/) 如何通过适用于 Windows 5.0 和更高版本的 Visual FoxPro 在 Word 97 或 Office Word 2003 中创建分类表
181926 (http://support.microsoft.com/kb/181926/) 如何使用 OLE 和 ODBC 使 Word 的邮件合并自动运行
194306 (http://support.microsoft.com/kb/194306/) 如何使用 Visual FoxPro 的 OLE 自动化让 Word 进行双面打印
230154 (http://support.microsoft.com/kb/230154/) 如何使用 Visual FoxPro 使 PowerPoint 自动运行
241942 (http://support.microsoft.com/kb/241942/) 如何使用 BackgroundPrintingStatus 属性避免 Word 打印错误
若想了解包括自动执行 Microsoft Office 的示例代码和资源在内的其他信息,请访问下面的 Microsoft 网站:
http://support.microsoft.com/gp/ofd (http://support.microsoft.com/gp/ofd)
有关使用 Visual Studio .NET 自动执行 Office 的信息,请参见该页上到“Visual Studio .NET and Office Development”(Visual Studio .NET 和 Office 开发)的链接或使用下面的链接:
http://msdn.microsoft.com/vstudio/office/ (http://msdn.microsoft.com/vstudio/office/)

这篇文章中的信息适用于:
Microsoft Office Standard Edition 2003
Microsoft Visual Basic 4.0 专业版
Microsoft Visual Basic 5.0 专业版
Microsoft Visual Basic 6.0 专业版
Microsoft Visual Basic 4.0 企业版
Microsoft Visual Basic 5.0 企业版
Microsoft Visual Basic 6.0 企业版
Microsoft Visual C++ 4.0 专业版
Microsoft Visual C++ 5.0 专业版
Microsoft Visual C++ 6.0 专业版
Microsoft Visual J++ 6.0 标准版
Microsoft Visual Studio .NET 2002 专业版
Microsoft Visual Studio .NET 2003 Professional Edition
Microsoft Access 2002 标准版
Microsoft Access 2000 标准版
Microsoft Access 97 标准版
Microsoft Excel 2002 标准版
Microsoft Excel 2000 标准版
Microsoft Excel 97 标准版
Microsoft FrontPage 2002 标准版
Microsoft FrontPage 2000 标准版
Microsoft Outlook 2002 标准版
Microsoft Outlook 2000 标准版
Microsoft Outlook 97 标准版
Microsoft Outlook 98 标准版
Microsoft PowerPoint 2002 标准版
Microsoft PowerPoint 2000 标准版
Microsoft PowerPoint 97 标准版
Microsoft Word 2002 标准版
Microsoft Word 2000 标准版
Microsoft Word 97 标准版
Microsoft Visual FoxPro 5.0a
Microsoft Visual FoxPro 6.0 专业版
Microsoft MapPoint 2002 标准版
Microsoft MapPoint 2001 标准版
关键字: 
kbhowto kbautomation kbvbp400 kbvbp500 kbvbp600 _ik11561 _ik11593 kbvba kbgrpdso KB222101
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、
posted on 2006-06-07 14:14  henry  阅读(1675)  评论(0编辑  收藏  举报