MicrosoftOffice 应用程序可充当 ActiveX 服务器。 它们提供客户应用对对象库或类型库, 使客户应用程序以查看 Office 应用程序对象、 属性、 方法和常量设计时访问。
可以使用 VisualBasic 自动化控制器中晚期绑定使 Office 应用程序而无须进行 Office 应用程序类型库引用 当您使用晚期绑定, 需要用于内置常量为 Office 应用程序值。 本文介绍如何通过编程的内置常量列表和等效值在运行时检索。
下表说明文件包含类型库信息:
应用程序 | 类型库 |
Microsoft Access 2000 | Msacc9.olb |
Microsoft 活页夹 2000 | Msbdr9.olb |
Microsoft Excel 2000 | Excel 9 .olb |
Microsoft Graph 2000 | Graph9.olb |
Microsoft Office 2000 | Mso 9 .dll |
Microsoft Outlook 2000 | Msoutl9.olb |
Microsoft PowerPoint 2000 | Msppt9.olb |
Microsoft Word 2000 | Msword9.olb |
| |
Microsoft Access 2002 | Msacc.olb |
Microsoft Excel 2002 | Excel.exe |
Microsoft Graph 2002 | Graph.exe |
Microsoft Office 2002 | MSO.dll |
Microsoft Outlook 2002 | MSOutl.olb |
Microsoft PowerPoint 2002 | MSPpt.olb |
Microsoft Word 2002 | MSWord.olb |
| |
Microsoft Office Access 2003 | Msacc.olb |
Microsoft Office Excel 2003 | Excel.exe |
Microsoft Office 2003 MicrosoftGraph | Graph.exe |
Microsoft Office 2003 | MSO.dll |
Microsoft Office Outlook 2003 | MSOutl.olb |
Microsoft Office PowerPoint 2003 | MSPpt.olb |
Microsoft Office Word 2003 | MSWord.olb |
MicrosoftOfficeAccess 2007 | Msacc.olb |
MicrosoftOfficeExcel 2007 | Excel.exe |
MicrosoftOfficeOutlook 2007 | MSOutl.olb |
Microsoft Office PowerPoint 2007 | MSPpt.olb |
MicrosoftOfficeWord 2007 | MSWord.olb |
注意 对于这些类型库的默认位置是:
Office 版本 | 路径 |
Office 2000 | C:\ProgramFiles\Microsoft Office \Office |
OfficeXP | C:\ProgramFiles\Microsoft Office \Office 10 |
Office 2003 | C:\ProgramFiles\Microsoft Office \Office 11 |
办公室 2007年 | C:\ProgramFiles\Microsoft Files\Microsoft Office\Office12 |
与 Visual Studio 6.0 确定类型库信息在运行时, 使用 TypeLibInformation ActiveX 对象 ( tlbinf32.dll ) 附带。 以下示例阐释如何使用 TypeLibInformation 以检索从类型库的内置常量列表。
步骤创建示例程序
1. | 启动 Microsoft Visual Basic 和创建新的标准 EXE 项目。 默认情况下创建 Form 1。 |
2. | 从 项目 菜单, 选择 引用 , 并设置引用到 tlbinf32.dll 通过检查包含 TypeLib 信息框。 |
3. | VisualBasic 窗体上放置 CommandButton 和两 TextBoxes 。 |
4. | 选择二 TextBox 由默认, Text 2 命名并在 属性 窗口, Multiline 属性设置为 True 。 将 滚动条 属性是 Text 2 到 两 - Vertical 。 |
5. | 将以下代码复制到代码窗口为 Form 1:Private Sub Command1_Click() Text1.Enabled = False Command1.Enabled = False Text2.Enabled = True GetWordConstants (Text1.Text) End Sub Private Sub GetWordConstants(strPath As String) Dim x As TypeLibInfo, sText as String On Error Resume Next 'Get information from the Word Object library Set x = TypeLibInfoFromFile(Text1.Text) For Each r In x.Constants For Each mbr In r.Members sText = sText & mbr.Name & " = " & mbr.Value & vbCrLf Next mbr Next r Text2.Text = sText Set x = Nothing Text1.Enabled = True Command1.Enabled = True End Sub Private Sub Form_Load() Form1.WindowState = vbNormal Command1.Enabled = False Text1.Text = "" Text2.Text = "" Text2.Enabled = False End Sub Private Sub Text1_Change() If Text1.Text <> "" Then Command1.Enabled = True End If End Sub |
6. | 运行项目。 在第一个文本框中 MicrosoftOfficeObjectLibrary 文件完整路径键入并单击 CommandButton 来显示二 TextBox 中类型库信息。 |