VS2005的word2003 VBA编程

本文介绍了如何在VS2005环境下通过VBA进行MS Word 2003的自动化编程,包括添加Office组件、解决类冲突问题及示例代码,帮助读者理解VBA在文档处理自动化中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VS2005上进行VBA编程是实现文档处理自动化的一种方式,以下是我对VBA开发的一次总结,希望对大家有所帮助:

1.         添加所要操作的MS Office组件文件olb,在“添加新类”中选择“TypeLib中的MFC类”,选择文件为类的来源,找到MS Office的安装文件夹(C:/Program Files/Microsoft Office/OFFICE11/)选择你想操作的项,如MSWORD.OLB

2.         添加完OLB文件之后,显示出其提供的类,按自己需要选择相关的类。不介意文件多,可以全部添加到工程中。

因为在MSWORD.OLB中有一些类与MFC中提供的类有符号冲突的问题。所以我们在导入时添加重命名rename("ExitWindows", "WordExitWindows") rename("FindText", "WordFindText")stdafx.h中加入以下代码就可以了,下面代码的意思也就是导入DLL,OLB等操作,在#import的后面要添加rename,这样就不需要在每个导入的.hCApplication.h….)文件中添加rename了。但是在实际使用的时候还是有一个地方比较特殊,虽然在stdafx.h文件中添加rename("ExitWindows", "WordExitWindows")但是还是有重命名问题,我们需要将CApplication.h中的#import注释掉就OK了。

 

#define OFFICEXP 1

#define OFFICE2000 2

 

// Default Settings

#define OFFICE_VER OFFICEXP

 

#define _M2STR(x) #x

#define M2STR(x) _M2STR(x)

 

// Ignore hard wired default paths if MSDLL_PATH is

// defined from the command line

#ifndef MSDLL_PATH

 

// Paths to required MS OFFICE files.

// Make sure these paths are correct for your  machine

#pragma message ("Make sure the path to MSO DLL is correct.")

#if OFFICE_VER == OFFICEXP

#define _MSDLL_PATH "C:/Program Files/Common Files/Microsoft Shared/Office11/MSO.DLL"

#elif  OFFICE_VER == OFFICE2000

#define   _MSDLL_PATH "C:/Program Files/Microsoft Office/Office/MSO9.dll"

#endif

 

#else

#define _MSDLL_PATH M2STR(MSDLL_PATH)

#endif

 

//

// Delete the *.tlh files when changing import qualifiers

#import _MSDLL_PATH rename("RGB", "MSRGB") rename("DocumentProperties", "WordDocumentProperties") raw_interfaces_only

 

#ifdef VBE6EXT_PATH

#import M2STR(VBE6EXT_PATH)

#else

#import "C:/Program Files/Common Files/Microsoft Shared/VBA/VBA6/VBE6EXT.OLB" raw_interfaces_only

#endif

 

// Ignore hard wired default paths if MSWORDOLB_PATH is

// defined from the command line

#ifndef MSWORDOLB_PATH

 

#pragma message ("Make sure the path to MSWORD OLB is correct.")

#if OFFICE_VER == OFFICEXP

#define _MSWORDOLB_PATH "C:/Program Files/Microsoft Office/OFFICE11/MSWORD.OLB"

#elif  OFFICE_VER == OFFICE2000

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值