WEB开发网
开发学院软件开发VC 用VC6.0编写Word插件(Office2K、XP、03) 阅读

用VC6.0编写Word插件(Office2K、XP、03)

 2010-07-15 20:45:04 来源:WEB开发网   
核心提示:第三步,通过上面的两个步骤,用VC6.0编写Word插件(Office2K、XP、03)(3),我们的插件框架已经形成,但是Office怎么知道启动的时候要来把我们的插件Load起来呢?Office的不同组件,同时需要import两个office的文件,一个是MSO.dll,例如Word、Excel、Outlook等怎

第三步,通过上面的两个步骤,我们的插件框架已经形成,但是Office怎么知道启动的时候要来把我们的插件Load起来呢?Office的不同组件,例如Word、Excel、Outlook等怎么知道去Load自己的插件呢?答案就是在注册表中加入相应的键值。打开文件视图FileView—>Resource File中的rgs文件,加入以下代码:

HKCU
{
Software
{
Microsoft
{
Office
{
Word
{
Addins
{
''TestAddin.SimAddin''
{
val FriendlyName = s ''WORD Custom Addin''
val Description = s ''Word Custom Addin''
val LoadBehavior = d ''00000003''
val CommandLineSafe = d ''00000001''
}
}
}
}
}
}
}

以上代码由三个需要注意的地方:

1. Office下面的那个子项代表了这个插件是属于那个组件,Word、Excel、Outlook等等。

2. Addins下面的那个子项要写成你添加的COM组件的名字,千万不要照着我的工程的名字照抄。

3. 所有的值两边加的都是单引号,而且要用英文下的单引号,不能用双引号。

这样一个Office插件的框架才算完成,你可以在OnConnection函数中加一些测试代码,看看有没有执行到,如果执行成功才能继续,否则检查上面的步骤有没有错误。

第四步,同时需要import两个office的文件,一个是MSO.dll,另一个是MSWORD.OLB。这两个文件可以在以下位置找到(具体位置与office安装路径有关):

C:Program FilesCommon FilesMicrosoft SharedOFFICE11

C:Program FilesMicrosoft OfficeOFFICE11

然后在stdafx.h中加入如下语句:

#import "C:\Program Files\Common Files\Microsoft Shared\OFFICE11\mso.dll"

rename_namespace("Office") named_guids,exclude("Pages")
using namespace Office;
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.olb" rename_namespace("VBE6")
using namespace VBE6;
#import "C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB" rename("ExitWindows","ExitWindowsEx")
#import "C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB"

rename_namespace("Word"), raw_interfaces_only, named_guids ,exclude("Pages")
using namespace Word;

上一页  1 2 3 4 5  下一页

Tags:VC 编写 Word

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接