呵呵!我给你指一个方向!如果你有MSDN的话,你可以在 Microsoft Office Development Office 97 Documentation Office Microsoft Office 97/Visual Basic Programmer's Guide chapt 8:... 找到你想要的内容。但是只是对于菜单的,没有讲按钮如何实现。而且使用的例子是用VB的! Good Luck!
我大致看了一下,MSDN 里面说的那种好像不是我想要的,我想要的是: 在用户机器上安装时,不必启动 WORD; 安装后再启动 WORD 时,会自动出现加入的菜单或按钮; 用户看不到我的源程序; 我的程序卸载时,可以彻底删除该按钮及其所在的工具条; 不论卸载还是安装,用户都只需要运行 setup/unsetup,而不需要在 WORD 里面进行什么操作; 所以好像写成 Add-In 比较合适,可是我只找到支持 Word2000 的例子,没找到支持 97 的。哪位大侠能指点一下?问题解决后我会给一个令你满意的分数的。
做个hook怎么样?找到word的Window Handle ,你就可以用API操作Menu
嘻嘻,花了我半个钟头噢!Option ExplicitPrivate 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 SubPrivate Function AboutSampleMenu() Dim para As Paragraph
Set para = Paragraphs.Add para.Range.InsertAfter "Sample Menu Inserted Text" frmAbout.Show End FunctionPrivate 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
Microsoft Office Development
Office 97 Documentation
Office
Microsoft Office 97/Visual Basic Programmer's Guide
chapt 8:...
找到你想要的内容。但是只是对于菜单的,没有讲按钮如何实现。而且使用的例子是用VB的!
Good Luck!
在用户机器上安装时,不必启动 WORD;
安装后再启动 WORD 时,会自动出现加入的菜单或按钮;
用户看不到我的源程序;
我的程序卸载时,可以彻底删除该按钮及其所在的工具条;
不论卸载还是安装,用户都只需要运行 setup/unsetup,而不需要在 WORD 里面进行什么操作;
所以好像写成 Add-In 比较合适,可是我只找到支持 Word2000 的例子,没找到支持 97 的。哪位大侠能指点一下?问题解决后我会给一个令你满意的分数的。
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 SubPrivate Function AboutSampleMenu()
Dim para As Paragraph
Set para = Paragraphs.Add
para.Range.InsertAfter "Sample Menu Inserted Text"
frmAbout.Show
End FunctionPrivate 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
还有:
一、我不想让用户看到我的源代码,该怎么设置?
二、这些代码我想应该放到某个.dot里面,可是我就是没找到保存到模板的命令在哪儿,安装程序应该做些什么呢?