最新WPS办公软件学习教程_免费企业办公软件下载_金山WPS Office官网论坛

 找回密码
 
查看: 3508|回复: 67

[VB6/VBA] 【VB】使用VB快速制作WPS的COM加载项

  [复制链接]

11

主题

3

听众

159

积分

LV.3

Rank: 3Rank: 3

该用户从未签到

金币
0
威望
214
帖子
61
精华
0
发表于 2012-7-26 11:20 |显示全部楼层
分享到: 新浪微博 腾讯微博
本帖最后由 LuciferStar 于 2012-11-26 09:36 编辑

1.新建工程,选择ActiveX Dll。

2.工程、引用、选择Kingsoft Add-In Designer、Kingsoft Office 1.0 Object Library、Kingsoft WPS 2.0 object Library。

3.将工程名原来的“工程1”改为“kgsPro”,类名称的“Class1”改为“AddCommand”
(这里的修改的名称根据实际情况而定义,但在后面的注册时会用到这两个名字)

4.写入如下的代码:
  1. Option Explicit
  2. Implements IDTExtensibility2
  3. Private WithEvents wpsApp As WPS.Application
  4. Private WithEvents btnNew As CommandBarButton
  5. Private myId As Integer
  6. Private Sub IDTExtensibility2_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
  7.     Set wpsApp = Application
  8. End Sub
  9. Private Sub IDTExtensibility2_OnDisconnection(ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
  10.     Set wpsApp = Nothing
  11.    
  12. End Sub
  13. Private Sub IDTExtensibility2_OnStartupComplete(custom() As Variant)
  14.     Dim myBar As CommandBar
  15.     Set myBar = wpsApp.CommandBars.Add("测试工具栏")
  16.     Set btnNew = myBar.Controls.Add
  17.    
  18.    
  19. End Sub
  20. Private Sub IDTExtensibility2_OnAddInsUpdate(custom() As Variant)
  21.     '通常这些不需要写
  22. End Sub
  23. Private Sub IDTExtensibility2_OnBeginShutdown(custom() As Variant)
  24.     btnNew.Delete '删除加载项
  25. End Sub
  26. Private Sub btnNew_Click(ByVal Ctrl As KSO.CommandBarButton, CancelDefault As Boolean)
  27.    'wpsApp.ActiveDocument.BeginJob
  28.     MsgBox "这是一个Demo", vbOKOnly, "kongguisheng"
  29.    'wpsApp.ActiveDocument.EndJob "这仅仅是一个Demo", True
  30. End Sub
复制代码
5.单击文件、生成***.dll,保存到C盘下,文件名为kgsPro.dll。

6.Dll生成完成,下面就是注册的步骤了。

7.新建一个文本文档,保存为AddDemo.reg,写入如下的内容
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Kingsoft\Office\WPS\Addins\kgsPro.AddCommand]
"FriendlyName"="WPS加载项Demo"
"Description"="Konguisheng的Demo系列之加载项"
"LoadBehavior"=dword:00000003
"CommandLineSafe"=dword:00000001

8.双击AddDemo.reg,将此导入到注册表中。

9.单击Windows的“运行”,输入regsvr32 C:\kgsPro.dll完成

10.如果要删除这个加载项
A.新建一个文本文档,保存为DeleteDemo.reg,写入如下的内容
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Kingsoft\Office\WPS\Addins\kgsPro.AddCommand]
B.单击Windows的“运行”,regsvr32 /u C:\kgsPro.dll (此步不是必须)

点评

赞同: 5.0
翘尾的k  赞同: 5
不错  发表于 2012-12-12 19:50
已有 1 人评分威望 收起 理由
LuciferStar + 10 谢谢分享,十分赞!

总评分: 威望 + 10   查看全部评分

38

主题

11

听众

3735

积分

版主

PHP+MING

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

该用户从未签到

金币
182
威望
8743
帖子
1429
精华
1
发表于 2012-7-27 17:52 |显示全部楼层
谢谢分享!
回复

使用道具 举报

13

主题

9

听众

1459

积分

LV.7

Rank: 7Rank: 7Rank: 7

签到天数: 1 天

[LV.1]初来乍到

金币
456
威望
3277
帖子
721
精华
0
发表于 2012-11-2 15:00 |显示全部楼层
谢谢分享,但是没成功,COM加载项卡了一会,然后对话框里还是为空,如下图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,

回复

使用道具 举报

3

主题

3

听众

259

积分

LV.4

Rank: 4

该用户从未签到

金币
0
威望
448
帖子
115
精华
0
发表于 2012-11-2 16:14 |显示全部楼层
user 发表于 2012-11-2 15:00
谢谢分享,但是没成功,COM加载项卡了一会,然后对话框里还是为空,如下图
...

能不能把你的工程全部发上来?
回复

使用道具 举报

13

主题

9

听众

1459

积分

LV.7

Rank: 7Rank: 7Rank: 7

签到天数: 1 天

[LV.1]初来乍到

金币
456
威望
3277
帖子
721
精华
0
发表于 2012-11-21 17:18 |显示全部楼层
wxhnr 发表于 2012-11-2 16:14
能不能把你的工程全部发上来?


这是我在网上搜到的关于WPS插件开发的范例,然后我试了试,但是加载不上,我现在用的版本是WPS2012校园版,也试过其他几个月版的WPS2012和WPS2012正式版,但都不行。
最近忘了来这里逛,没看到回复,见谅!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,

回复

使用道具 举报

3

主题

3

听众

259

积分

LV.4

Rank: 4

该用户从未签到

金币
0
威望
448
帖子
115
精华
0
发表于 2012-11-22 07:50 |显示全部楼层
本帖最后由 wxhnr 于 2012-11-22 07:52 编辑
user 发表于 2012-11-21 17:18
这是我在网上搜到的关于WPS插件开发的范例,然后我试了试,但是加载不上,我现在用的版本是WPS2012校园 ...

这个问题我已经看到至少四个人提过了,的确不能用“COM加载项”窗口像微软OFFICE那样加载程序,只能像一楼那样通过手动在注册表中添加信息和手动注册DLL来实现加载我们的程序。
回复

使用道具 举报

13

主题

9

听众

1459

积分

LV.7

Rank: 7Rank: 7Rank: 7

签到天数: 1 天

[LV.1]初来乍到

金币
456
威望
3277
帖子
721
精华
0
发表于 2012-11-22 10:52 |显示全部楼层
wxhnr 发表于 2012-11-22 07:50
这个问题我已经看到至少四个人提过了,的确不能用“COM加载项”窗口像微软OFFICE那样加载程序,只能像一楼 ...

恩,刚试过,果然如此,谢谢,如果WPS加上自动添加功能就好了,或者说开发一个替代其原有COM加载项功能的插件也行
回复

使用道具 举报

7

主题

0

听众

27

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
56
帖子
1
精华
0
发表于 2012-12-12 10:23 |显示全部楼层
通过手动导入注册表和手动注册,也加载不上
是一步一步按照楼主上面的操作
还是不行啊
回复

使用道具 举报

1

主题

0

听众

52

积分

LV.2

Rank: 2

签到天数: 3 天

[LV.2]偶尔看看I

金币
4
威望
146
帖子
5
精华
0
发表于 2013-4-25 16:34 |显示全部楼层

谢谢分享!
回复

使用道具 举报

69

主题

4

听众

2095

积分

测试体验团员

Rank: 14Rank: 14Rank: 14Rank: 14

签到天数: 3 天

[LV.2]偶尔看看I

金币
232
威望
4111
帖子
1146
精华
0

WPS粉丝团 测试体验团

发表于 2013-4-26 12:18 |显示全部楼层
我要实验版接口,实验版接口,怎么改都加载不了。
欢迎访问 嘀噫空间-DESpace:www.xx10.cn
百度DE空间团队邀您一起帮助他人
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 更多账号登录:

快速回帖:

fastpost

WPS论坛更新日志|WPS Office官方论坛     

GMT+8, 2017-11-24 06:28

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部