ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2295|回复: 6

我很想知道金山公司是怎么做的!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2002-7-2 15:07 | 显示全部楼层 |阅读模式
当装好金山词霸之后WORD的工具栏会多一个按钮,而且COM加载项里会增加一项:Powerword 2002 Office Addin。 当取消此加载项时金山词霸按钮就不可能处于按下状态! 我想知道他是怎样让这个按钮和那个COM加载项联系到一起的。

TA的精华主题

TA的得分主题

发表于 2004-11-17 05:34 | 显示全部楼层

将附件中的模板置于C:\Documents and Settings\UserName\Application Data\Microsoft\Word\STARTUP文件夹中.加载与卸载该"COMExample"加载项,观察一下常用工具栏的第一个命令按钮的情况.

mD8S8nyi.rar (5.63 KB, 下载次数: 23)

原理与代码如下:(两个自动宏)

Sub MySub() MsgBox "It's Only a Test!" End Sub Sub AutoExec() Dim MyBar As CommandBarControl If Application.CommandBars("Standard").Controls(1).Caption <> "COMTest" Then With MyBar Set MyBar = Application.CommandBars("Standard").Controls.Add(Type:=msoControlButton, Before:=1) .Caption = "COMTest" .OnAction = "MySub" .Visible = True .FaceId = 475 End With End If Application.CommandBars("Standard").Controls(1).Enabled = True End Sub Sub AutoExit() Application.CommandBars("Standard").Controls(1).Enabled = False End Sub

TA的精华主题

TA的得分主题

发表于 2004-11-18 13:38 | 显示全部楼层

测试没有通过啊!我win2000+off2000

我很想知道金山公司是怎么做的!

我很想知道金山公司是怎么做的!

TA的精华主题

TA的得分主题

发表于 2004-11-18 14:05 | 显示全部楼层
以下是引用cofe2000在2004-11-18 13:38:00的发言:

sorry!有些问题:请下载这个:

pBH4m8Ct.zip (7.31 KB, 下载次数: 22)

代码如下:

Sub MySub() MsgBox "It's Only a Test!" End Sub Sub AutoExec() Dim MyBar As CommandBarControl On Error Resume Next If Application.CommandBars("Standard").Controls(1).Caption = "COMTest" Then Application.CommandBars("Standard").Controls(1).Enabled = True Exit Sub Else Set MyBar = Application.CommandBars("Standard").Controls.Add(Type:=msoControlButton, Before:=1) With MyBar .Caption = "COMTest" .OnAction = "MySub" .Visible = True .FaceId = 475 End With End If End Sub Sub AutoExit() On Error Resume Next Application.CommandBars("Standard").Controls("COMTest").Enabled = False End Sub

TA的精华主题

TA的得分主题

发表于 2004-11-18 19:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

谢谢版主,可以用了

再请问一下,这个文件放在STARTUP文件夹中时宏是自动运行的,但是直接打开的话却不运行,是何道理?

AutoExec和AutoExit是否和excel中的Auto_open差不多

TA的精华主题

TA的得分主题

发表于 2004-11-18 20:04 | 显示全部楼层

COFE兄你好!

WORD中的自动宏有以下几个:

AutoExec 启动 Word 或加载全局模板时

AutoNew 每次新建文档时

AutoOpen 每次打开已有文档时

AutoClose 每次关闭文档时

AutoExit 退出 Word 或卸载全局模板时

其中的AutoOpen\AutoClose可以理解为excel中的Auto_open、auto_close差不多,但AutoExec 、AutoExec 是与EXCEL中的有区别的,是针对模板的事件。

在EXCEL中,有着分工更为明确的事件,而WORD中则通常只有这五个自动宏和三个文档事件(NEW、OPEN、CLOSE)

TA的精华主题

TA的得分主题

发表于 2004-11-19 09:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

多谢版主,真是涨见识啊

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 22:34 , Processed in 0.039458 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表