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

 找回密码
 
楼主: Floralssecret

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

  [复制链接]

69

主题

4

听众

2095

积分

测试体验团员

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

签到天数: 3 天

[LV.2]偶尔看看I

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

WPS粉丝团 测试体验团

发表于 2013-7-15 17:45 |显示全部楼层
分享到: 新浪微博 腾讯微博
mingch2008 发表于 2013-7-8 11:49
还有如何加载到“WPS表格”中,加载代码该如何改?即Dword改成什么?谢谢

dword是注册表中的数据格式表示方法,与wps程序无关

加载到表格,需要引用表格的接口,把注册表中的“wps”改为et
回复

使用道具 举报

0

主题

0

听众

11

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
17
帖子
0
精华
0
发表于 2013-7-15 21:52 |显示全部楼层
对WPS最大的期望就是:可以使用COM加载项中的自定义函数。
回复

使用道具 举报

3

主题

0

听众

90

积分

LV.2

Rank: 2

该用户从未签到

金币
0
威望
183
帖子
42
精华
0
发表于 2013-7-17 20:47 |显示全部楼层
楼主,请问我按你说的方法封装一个ET的菜单,但是怎么封装好,打开ET只出现加载项菜单,但是执行菜单项的时候并没有反应,可以麻烦你帮忙修改一下代码吗?非常的感谢(代码从天远的贴子里摘的)。
Option Explicit '强制显示声明
Implements IDTExtensibility2 '声明实现IDTExtensibility2接口

Private WithEvents etApp As ET.Application '声明一个变量,用于存放ET应用程序的实例

'实现OnConnection
Private Sub IDTExtensibility2_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
    '这里指的是COM加载项加载时的操作,一般在这里初始化应用程序的实例
    On Error Resume Next
    Set etApp = Application '这里Application就代表ET应用程序,因此赋值给etApp
End Sub

'实现OnDisconnection
Private Sub IDTExtensibility2_OnDisconnection(ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
    '这里指的是COM加载项卸载时的操作,一般在这里销毁应用程序的实例
    On Error Resume Next
    Set etApp = Nothing '销毁etApp变量
End Sub

'实现OnStartupComplete
Private Sub IDTExtensibility2_OnStartupComplete(custom() As Variant)
    '这里指的是COM加载项加载完成时的操作,这里我们在当前工作表中写入一些内容
    On Error Resume Next
    'With etApp.ActiveSheet
        '.Cells(1, 1) = "WPS"
       ' .Cells(2, 1) = "COM"
        '.Cells(3, 1) = "加载项"
    'End With
    'Public Sub 创建工具栏弹出菜单按钮()
'On Error Resume Next '防错处理
Dim myComBar As KSO.CommandBar '定义一个工具栏对象
etApp.Application.CommandBars("实用工具").Delete
Set myComBar = etApp.Application.CommandBars.Add("实用工具", ksoBarTop, , True) '创建一个工具栏
Dim myPopup As KSO.CommandBarPopup '定义一个弹出菜单
Dim myBtn As KSO.CommandBarButton '定义一个按钮
Set myPopup = myComBar.Controls.Add(ksoControlPopup, , , , True) '创建一个弹出式菜单在工具栏myComBar上
myPopup.Caption = "操作单元格" '设定弹出菜单的Caption属性,它将显示在界面上
Set myBtn = myComBar.Controls.Add(ksoControlButton, , , , True) '创建一个按钮在工具栏myComBar上
myBtn.Caption = "关于" '设定按钮的Caption属性,它将显示在界面上
myBtn.OnAction = "AboutMe" '将按钮绑定Sub过程
Set myBtn = myPopup.Controls.Add(ksoControlButton, , , , True) '创建一个按钮在弹出菜单myPopup上
myBtn.Caption = "让A1显示你好WPS"
myBtn.OnAction = "mySub1" '将按钮绑定Sub过程
Set myBtn = myPopup.Controls.Add(ksoControlButton, , , , True) '创建一个按钮在弹出菜单myPopup上
myBtn.Caption = "清除A1内容并让A2显示你好WPS"
myBtn.OnAction = "mySub2" '将按钮绑定Sub过程
myComBar.Visible = True '最后设置新创建的工具栏的Visible属性为True,让其可见
'End Sub
End Sub

'实现OnAddInsUpdate
'1)第一个按钮执行的功能是在当前工作表的A1单元格写入"你好WPS"

Private Sub IDTExtensibility2_OnAddInsUpdate(custom() As Variant)
    '这里一般不需要执行操作,为空
End Sub

'实现OnBeginShutdown
Private Sub IDTExtensibility2_OnBeginShutdown(custom() As Variant)
    '这里一般不需要执行操作,为空
End Sub
Public Sub mySub1()
With etApp.ActiveSheet
    Cells(1, 1).Value = "你好WPS"
End With
End Sub
'2)第二个按钮执行的功能是将当前工作表的A1单元的内容消除,再在A2单元格写入"你好WPS"
Public Sub mySub2()
With etApp.ActiveSheet
    Cells(1, 1).ClearContents
    Cells(2, 1).Value = "你好WPS"
End With
End Sub

回复

使用道具 举报

0

主题

0

听众

14

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
31
帖子
0
精华
0
发表于 2013-8-26 13:43 |显示全部楼层
学习收藏了,谢谢!
回复

使用道具 举报

2

主题

0

听众

31

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
71
帖子
5
精华
0
发表于 2013-10-19 10:28 |显示全部楼层
WPS 牛皮的国产软件
回复

使用道具 举报

7

主题

1

听众

63

积分

LV.2

Rank: 2

该用户从未签到

金币
0
威望
113
帖子
21
精华
0
发表于 2013-11-14 08:53 |显示全部楼层
wps开发怎么这么难啊,
回复

使用道具 举报

0

主题

0

听众

2

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
0
帖子
0
精华
0
发表于 2014-1-11 12:11 |显示全部楼层
一步一步按照楼主上面的操作怎么不行啊
回复

使用道具 举报

0

主题

0

听众

14

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
21
帖子
0
精华
0
发表于 2014-2-14 08:37 |显示全部楼层
照作了一遍,没找到按钮在哪,似乎要先建面版,新手还没搞清楚
回复

使用道具 举报

1

主题

0

听众

9

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
8
帖子
0
精华
0
发表于 2014-2-25 20:37 |显示全部楼层
收下
回复

使用道具 举报

1

主题

0

听众

28

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
73
帖子
0
精华
0
发表于 2014-3-25 15:41 |显示全部楼层
有没有自动加注册加载呢?
回复

使用道具 举报

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

快速回帖:

fastpost

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

GMT+8, 2017-11-23 06:06

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部