|
本帖最后由 dlguang 于 2014-1-23 10:28 编辑
需求是这样的:
1.提供一个word文档给其他人
2.该文档中有2个或者1个按钮,点击后执行该文档中的VBA代码,实现
①添加定义好的几个图文集;
②添加一个自定义菜单;
③点击菜单上的按钮可以插入定义的图文集;
④图文集中可以包含一个按钮,点击后可以选择本地一个文件,显示出来路径和文件名(代码见下)。
面临的问题是:
1.无法实现VBA添加定义的图文集;
2.图文集中的按钮名称是随着不断的添加而变化的,而代码中怎么匹配?
希望高人能指点。谢谢!{:soso_e183:}
经过从论坛学习,添加菜单可以实现,代码如下(从论坛高人处直接翻制的,忘记引用位置和高人用户名了,此处表示感谢,谢谢!):
添加自定义菜单:
Sub AA()
Dim ctl As CommandBarControl
Dim ctl1 As CommandBarControl
Set ctl = ActiveDocument.CommandBars("Menu Bar").Controls.Add(Type:=msoControlPopup, Before:=11)
With ctl
.Caption = "书稿"
Set ctr1 = .Controls.Add(Type:=msoControlButton, ID:=2205, Before:=1, Parameter:="插入图片")
With ctr1
.Caption = "插入图片"
End With
Set ctr1 = .Controls.Add(Type:=msoControlButton, ID:=2205, Before:=2, Parameter:="插入视频")
With ctr1
.Caption = "插入视频"
End With
Set ctr1 = .Controls.Add(Type:=msoControlButton, ID:=2205, Before:=3, Parameter:="插入表格")
With ctr1
.Caption = "插入表格"
End With
Set ctr1 = .Controls.Add(Type:=msoControlButton, ID:=2205, Before:=4, Parameter:="插入音频")
With ctr1
.Caption = "插入音频"
End With
End With
End Sub
读取本地文件:
Private Sub CommandButton1_Click()
Dim sFile As String
With Application.FileDialog(msoFileDialogOpen)
If .Show = -1 Then sFile = .SelectedItems(1)
End With
MsgBox sFile
Selection.TypeText Text:=sFile
End Sub
|
|