OFF: 如何使用 Word 时采用的 (OLE) 自动化

文章翻译 文章翻译
文章编号: 184974 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文包含的简短说明和详细说明如何使 Microsoft Word 自动运行其他程序中的示例宏。有关更详细的信息,请参阅"参考"个子节本文结尾处。

更多信息

Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证,其中包括但不是限于对适销性和/或针对特定用途的适用性的暗示的担保。本文假定您熟悉所演示的编程语言和工具用于创建和调试过程。Microsoft 支持专业人员可以帮助解释某个特定过程的功能,但他们不会修改这些示例以提供额外的功能或构建过程来满足您特定需要。
如果有限编程体验您可能需要联系 Microsoft 认证合作伙伴或 Microsoft 咨询服务。有关更多的信息请访问以下 Microsoft 网站:

Microsoft 认证合作伙伴-https://partner.microsoft.com/global/30000104

Microsoft 咨询服务-http://support.microsoft.com/gp/advisoryservice

有关可用的支持选项和有关如何与 Microsoft 联系的详细信息,请访问下面的 Microsoft 网站: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
自动化 (以前称为 OLE 自动化) 是程序用来公开它们的对象的开发工具、 宏语言和其他支持自动化的程序功能。例如对于电子表格程序可能会使工作表、 图表、 单元格或区域的单元格,每个为不同类型的对象。字处理器可能会公开对象 (如应用程序、 文档、 段落、 句子、 一个书签或所选内容。

当一个程序支持自动化时可以使用 Visual Basic 应用程序的访问它公开的对象。您操作 Visual Basic 中的这些对象通过调用方法在对象上或通过获取并设置该对象的属性。

可以使用代码示例在这篇文章中来控制 Word 从 Microsoft Access 97、 Microsoft Excel 97、 Microsoft PowerPoint 97、 Microsoft Visual Basic 应用程序,或来控制 Word 支持自动化的任何其他客户端。

入门 》

有 Word for Windows 自动执行的四个主要步骤。
  1. 添加到 Microsoft Word 8.0 对象库的引用。
  2. 将变量声明为 Word 对象类型。
  3. 分配给您在步骤 2 中声明该对象变量 CreateObject 函数返回该对象。
  4. 使用属性和方法的对象变量来使 Word 自动运行。

步骤 1: 添加到 Word 8.0 对象库的引用

若要将对使用 Microsoft Access 97、 Microsoft PowerPoint 97,或 Microsoft Excel 97 在 Microsoft Word 8.0 对象库的引用,请按照下列步骤操作:
  1. 在 Microsoft Access、 PowerPoint,或 Excel 工具 菜单上的指向 ,然后单击 Visual Basic 编辑器
  2. 在 Visual Basic 编辑器中,在 工具 菜单上单击 引用
  3. 可用引用 的列表,单击以选中 (选中),Microsoft Word 8.0 对象库 的复选框。
: 添加该引用,使用 Microsoft Visual Basic 5.0,请在 项目 菜单上单击 引用

添加 Microsoft Word 8.0 对象库的引用允许您访问 Microsoft Word 联机帮助和 Microsoft Word vba 的应用程序的常数、 属性和方法的程序。注意若要直接自动化 Word 对象类型所需的 Word 8.0 对象库的引用。

添加对 Word 8.0 对象库的引用称为早期绑定。

有关早期绑定的详细信息,请参阅 Microsoft 知识库中下面的文章:
138138信息: 最晚,ID,早期绑定类型可能在 VB 中为应用程序

步骤 2: 声明对象变量

若要声明对象变量,您变量就像维度任何变量,在于您可以声明该对象时指定类型的维度。例如对于 Word.Application文档,和 段落 是单独的 Word 对象。

下面的示例命令行声明为类型 Word.Application 的对象的变量 objWD

   Dim objWD as Word.Application

				

步骤 3: 设置变量

有两个 Visual Basic 函数,您可以使用"绑定"到 Word 的已声明的对象变量: CreateObjectGetObject。主要区别是 word 的 word 的 CreateObject 函数创建一个新而 GetObject 函数使用一个现有实例或已经正在运行实例。 您还可以使用 GetObject 将您的对象变量绑定到特定的 Word 文档。

下面的示例命令行将 objWD 变量绑定到 Word 使用 CreateObject 函数:

   Dim objWD as Word.Application
   Set objWD = CreateObject("Word.Application")

				
的下面的示例命令行将 objWdDoc 变量绑定到特定的 Word 文档:
   Dim objWdDoc As Word.Document
   Set objWdDoc = GetObject("c:\my documents\doc1.doc")
				
: 建议您在自动化 Word for Windows 使用仅 CreateObject 函数。GetObject 函数可能会导致不可预知的行为,如果型 WordMail 正在运行,或如果嵌入 Word 文档内的另一个程序。

有关帮助您使用 vba 的应用程序的详细信息请参阅 Microsoft 知识库中下面的文章:
185232WD97: 和错误消息使用型 WordMail: 此方法或属性不是用

步骤 4: 使用属性和方法,可自动进行 Word

当您完成步骤 1-3 可以使用对象变量,以使 Word 自动运行。

下面的示例宏使用自动化创建 Word 对象、 创建新文档、 添加一些的文本和保存该文档。
Sub AutomateWord()
   ' Declare the variable.
   Dim objWD As Word.Application
   ' Set the variable (runs new instance of Word.)
   Set objWD = CreateObject("Word.Application")
   ' Add a new document.
   objWD.Documents.Add
   ' Add some text.
   objWD.Selection.TypeText "This is some text."
   ' Save the document.
   objWD.ActiveDocument.SaveAs filename:="mydoc.doc"
   ' Quit Word.
   objWD.Quit
   ' Clear the variable from memory.
   Set objWD = Nothing
End Sub
				
: 下面的示例宏复制过程所述 AutomateWord 宏,并直接在 Word 中运行:
Sub WordMacro()
   Documents.Add
   Selection.TypeText "This is some text"
   ActiveDocument.SaveAs filename:="mydoc.doc"
   Quit
End Sub
				

引用

特定于自动化 Word 使用 Visual Basic 应用程序的详细信息,请参阅以下资源。

Microsoft Office 开发人员 Web 站点

http://www.msdn.microsoft.com/office

Microsoft Office 97/视频基本程序员指南 》

在 Microsoft Office 97/视频基本程序员指南 》 的 Microsoft Word 对象本章中使用自动化 (ISBN: 1-57231-340-4)。

-或者-

查看指南联机时,请执行以下操作:
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/office97/html/web/fulltoc.asp

新闻组

下面的对等新闻组是可以帮助您与其他用户的 Visual Basic 应用程序的交互:
microsoft.public.word.vba.addins
microsoft.public.word.vba.beginners
microsoft.public.word.vba.customization
microsoft.public.vb.ole.automation

知识库

有关帮助您使用 vba 的应用程序的详细信息请参阅 Microsoft 知识库中下面的文章:
163435VBA: 为应用程序的 Visual Basic 编程资源

173707OFF97: 如何运行知识库文章中的示例代码

163425WD97: 宏编程资源

办公室助理

有关自动化,在 Visual Basic 编辑器中的详细信息单击 Office 助手、 键入"自动化"、 单击 搜索,然后单击以查看与其他应用程序 Communicating。

: 如果隐藏的助手单击常用工具栏上的 Office 助手按钮。如果不能够回答您的查询助手,请参阅 Microsoft 知识库中下面的文章:
176476未应答 Visual Basic 问题 OFF: Office 助手

属性

文章编号: 184974 - 最后修改: 2007年1月22日 - 修订: 4.3
这篇文章中的信息适用于:
  • Microsoft Excel 97 标准版
  • Microsoft Word 97 标准版
  • Microsoft Visual Basic for Applications 5.0
关键字:?
kbmt kbdtacode kbhowto kbinterop kbprogramming KB184974 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 184974
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com