求:如何在微软的 WORD 程序里面添加一个按钮或菜单?

ab 2001-02-08 03:41:00
要求一:从添加到彻底去除,都必须能用程序实现;
要求二:选择该按钮或菜单后,可以执行一段程序,这段程序需要调用 API 函数,需要取得并修改当前正编辑的 WORD 文档中的选定部分;

我到微软的站点搜索了一下,找到一大堆不相关的。如果哪位大侠能提供例子或提供具体文章地址,有分相赠,不够可以再加。可以使用 COM 或 VBA,可以使用 VC 或 VB。
...全文
358 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ab 2001-02-14
  • 打赏
  • 举报
回复
谢谢 edyang,搞好了。
ab 2001-02-13
  • 打赏
  • 举报
回复
edyang 真是敬业!小弟对大哥的敬仰之情...
还有:
一、我不想让用户看到我的源代码,该怎么设置?
二、这些代码我想应该放到某个.dot里面,可是我就是没找到保存到模板的命令在哪儿,安装程序应该做些什么呢?
Edward 2001-02-12
  • 打赏
  • 举报
回复
嘻嘻,花了我半个钟头噢!

Option Explicit

Private Sub cmdAddSampleMenu_Click()
Dim bar As CommandBar
Dim pop As CommandBarPopup
Dim btn As CommandBarButton

Set bar = CommandBars("Menu Bar")
'Set bar = CommandBars("MySampleCommandBar")
'If bar Is Nothing Then
' Set bar = CommandBars.Add("MySampleCommandBar")
'End If
If Not bar Is Nothing Then
bar.Visible = True
End If

'On Error Resume Next
Set pop = bar.Controls.Add(msoControlPopup)
On Error GoTo 0

If Err = 0 Then
pop.Caption = "Sample Menu"
pop.Tag = "SampleMenu"
pop.Visible = True

Set btn = pop.Controls.Add(msoControlButton)
btn.Caption = "About Sample Menu"
btn.OnAction = "AboutSampleMenu"
btn.Visible = True
End If
End Sub

Private Function AboutSampleMenu()
Dim para As Paragraph

Set para = Paragraphs.Add
para.Range.InsertAfter "Sample Menu Inserted Text"
frmAbout.Show
End Function

Private Sub cmdDeleteSampleMenu_Click()
Dim bar As CommandBar
Dim pop As CommandBarPopup

Set bar = CommandBars("Menu Bar")
On Error Resume Next
Set pop = bar.FindControl(msoControlPopup, , "SampleMenu")
If Not pop Is Nothing Then
pop.Delete
End If
End Sub
Davidleo 2001-02-12
  • 打赏
  • 举报
回复
观众
Davidleo 2001-02-12
  • 打赏
  • 举报
回复
观众
Jamebo 2001-02-12
  • 打赏
  • 举报
回复
做个hook怎么样?找到word的Window Handle ,你就可以用API操作Menu
spdia 2001-02-12
  • 打赏
  • 举报
回复
关注
随风bj 2001-02-12
  • 打赏
  • 举报
回复
关注
ab 2001-02-12
  • 打赏
  • 举报
回复
?
ab 2001-02-09
  • 打赏
  • 举报
回复
我大致看了一下,MSDN 里面说的那种好像不是我想要的,我想要的是:
在用户机器上安装时,不必启动 WORD;
安装后再启动 WORD 时,会自动出现加入的菜单或按钮;
用户看不到我的源程序;
我的程序卸载时,可以彻底删除该按钮及其所在的工具条;
不论卸载还是安装,用户都只需要运行 setup/unsetup,而不需要在 WORD 里面进行什么操作;
所以好像写成 Add-In 比较合适,可是我只找到支持 Word2000 的例子,没找到支持 97 的。哪位大侠能指点一下?问题解决后我会给一个令你满意的分数的。
ab 2001-02-09
  • 打赏
  • 举报
回复
待我看来...
jinxi_gao 2001-02-08
  • 打赏
  • 举报
回复
关注
RedFire 2001-02-08
  • 打赏
  • 举报
回复
呵呵!我给你指一个方向!如果你有MSDN的话,你可以在
Microsoft Office Development
Office 97 Documentation
Office
Microsoft Office 97/Visual Basic Programmer's Guide
chapt 8:...
找到你想要的内容。但是只是对于菜单的,没有讲按钮如何实现。而且使用的例子是用VB的!
Good Luck!
RedFire 2001-02-08
  • 打赏
  • 举报
回复
可以用VBA就可以使用COM.
ab 2001-02-08
  • 打赏
  • 举报
回复
还有,用 VBA 的话,如果做成商业软件,给用户安装以后,用户能看到我的源程序吗?
ab 2001-02-08
  • 打赏
  • 举报
回复
能具体说一说吗?有什么资料、例子吗?万分感谢!!!有分相谢。
心念不空过 2001-02-08
  • 打赏
  • 举报
回复
用VBA可以做。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧