如何导入office的类型库?这些类型库都在什么地方呢?

本文介绍了如何导入和使用Office的类型库,包括不同版本的Office对应的类型库文件,如Msacc、Excel和Graph等,并提供了一个使用Office 2003的COM接口实例,展示了如何初始化COM库,创建Word应用程序对象。
关键词:
Office,COM,OLB
 
我们要操作office那么第一个想到的就是该怎么把它的库加入到我们项目中呢?
最近对office研究了一番,ms的office可以说完全利用com的一个杰作,我们没有
比它用的更好,以前看到过国外有几家公司也用com写的开发包,例如ArcGis,
不能不佩服,看来还需要不断练内功!
最近去csdn论坛发了个关于offfice清理问题的帖子,冷清的让我心寒!这些大牛
都去写blog了?

进入正题,下面我列出office当前所有版本的类型库,office2007以后再说!哈哈!
   office版本号                           类型库
--------------------------------------------------

Microsoft Access 97 Msacc8.olb
Microsoft Jet Database 3.5 DAO350.dll
Microsoft Binder 97 Msbdr8.olb
Microsoft Excel 97 Excel8.olb
Microsoft Graph 97 Graph8.olb
Microsoft Office 97 Mso97.dll
Microsoft Outlook 97 Msoutl97.olb
Microsoft PowerPoint 97 Msppt8.olb

Microsoft Word 97 Msword8.olb
Microsoft Access 2000 Msacc9.olb
Micr
在 Visual C++ 6.0 中导入其他 Office 应用程序(如 ExcelPowerPoint)的类型,主要依赖于 `#import` 指令来引入相应的 COM 类型文件(通常是 `.olb` 或 `.dll` 文件)。通过该方式,VC6.0 可以自动生成包装类,使得开发者可以方便地调用 Office 应用程序的对象模型进行自动化操作。 对于 Excel导入,可以使用如下代码示例: ```cpp #import "C:\\Program Files\\Microsoft Office\\Office\\excel9.olb" \ rename("DialogBox", "ExcelDialogBox") \ rename("RGB", "ExcelRGB") ``` 其中,`rename()` 子句用于避免命名冲突。例如,Excel 中的 `DialogBox` 和 `RGB` 名称可能与 Windows API 或 MFC 中的已有名称重复,因此需要重命名[^1]。 对于 PowerPoint导入,可以使用类似的方式: ```cpp #import "C:\\Program Files\\Microsoft Office\\Office\\msppt.olb" \ rename("Command", "PPTCommand") ``` 导入后,VC6.0 会生成两个文件:`.tlh` 和 `.tli`,前者包含类型声明,后者包含内联函数实现。这些文件会在编译时自动包含进项目中,为后续的 COM 调用提供支持[^2]。 为了确保类型路径正确,建议在安装 Office 后检查其安装目录下的 `Office` 文件夹中是否存在对应的 `.olb` 文件。如果系统为 64 位操作系统,则类型可能位于 `Program Files (x86)` 目录下。 在导入完成后,还需要初始化 COM 以便创建和操作 COM 对象: ```cpp CoInitialize(NULL); ``` 完成操作后应释放 COM : ```cpp CoUninitialize(); ``` 导入并初始化成功后,即可使用智能指针访问应用程序对象,例如: ```cpp _ApplicationPtr pExcelApp; pExcelApp.CreateInstance(__uuidof(Application)); ``` 此类操作适用于所有 Office 应用程序,只需替换对应的应用程序名和接口指针类型即可。
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值