手机版

在Word中嵌入应用程序(3)

发布时间:2021-06-06   来源:未知    
字号:

在Word中嵌入应用程序

basedef.h定义了三种调用方法:WORDCALL、WORDFUCTION和WORDDIALOG。 ·若被调用的Word Basic函数无返回值,用Word API接口函数WORDCALL来调用,形式是:WORDCALL(函数名);

· 若被调用的Word Basic函数有返回值,用Word API接口函数WORDFUNCTION来调用,形式是:WORDFUNCTION(函数名);

·若被调用的Word Basic函数是有关对话框操作,用Word API函数WORDDIALOG来调用,形式是:WORDDIALOG(函数名)。

例如:Word Basic中,给所选区域字符标粗体的函数Bold与判断所选区域字符是否为粗体的函数Bold()的调用方法就不同:

·函数Bold是一个操作,无须返回值,所以调用形式是WORDCALL(wdBld)。

·函数Bold()是一个判断,必须有返回值,所以调用形式是WORDFUNCTION(wdBold);

6. Word Basic函数参数的传递方法

在调用Word Basic带参函数时,需要通过Word API特定接口函数来传递参数。同时,对不同类型的函数,参数的传递方法也不同。

(1) 逐个传递参数

这种传递参数的方法适用于参数位置固定的函数,例如:Word Basic函数: MenuText$(Type,MenuNumber[,Context])

其中的三个参数是按次序排列的。由于Word API调用Word Basic函数方式是函数名作为WORDCALL、WORDFUCTION和WORDDIALOG的参数,无法一次添加Word Basic函数参数,所以传递Word Basic函数参数时需要在InitWCB函数设置数据缓冲区后,依次通过数据缓冲区传递参数,第一个赋给Type,第二个赋给MenuNumber,如果有第三个参数则赋给Context。

在向这类函数传递参数时,根据待传递参数数据类型的不同,有以下4个函数可以选用

·传递short型参数的函数:

·传递long型参数的函数:

·传递字符串参数的函数:

在Word中嵌入应用程序

这种传递参数的方法适用于参数有标识名指明的函数。这种函数的参数有定义了的标识,传递时没有次序问题。例如:Word Basic中插入空表的函数TableInsertTable: Ta

因此,向TableInserTable函数传递参数时,只需指明哪一个标识即可。这种情况一般用于具有较多参数的函数。

在向这类函数传递参数时,与上面的类似,也是根据参数数据类型的不同,有以下4个函数可以选用:

下面的例子是要在光标所在位置插入一个4*12的空表:

标识名。调用函数AddString DlgField,将表的行数"4"和列数"12"直接传给Word Basic的函数TableInsertTable的两个参数NumColumns和NumRows。

注意:在Word API文件wdfid.h中被定义了的函数参数的标识名是与Word Basic函数的参数标识名一一对应的,但不同的是,Word API的参数标识名是在WordBasic的参数标识名前加了‘fid’构成的。如:Word Basic的函数TableInsertTable有两个参数是NumColumns和NumRows,那么,在Word API中的参数标识名就应是fidNumColumns和fidNumRows。

创建WLL的程序框架

本文给出一个用Word API完成的完整WLL框架,来实现如下图所示Word中的修改。

在Word中加载或卸载WLL

经过编译、链接生成DLL文件(动态连接库文件)后,必须将文件的扩展文件名.dll改为.wll,以便在加载WLL时能被Word正确识别为Word加载项。

将自己编写的WLL加载到Word中有以下几种方法:

·模板方式加载:在Word中主菜单‘文件’中找到‘模板’,进去后按下‘添加’按钮,选中自己编写的WLL模板文件(文件扩展名为wll)后‘确定’,加载WLL即可完成。 ·打开文件方式加载:像打开一般的Word文档一样,打开WLL模板文件,即可完成

在Word中嵌入应用程序(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)