Word模板:在图形按钮单击上执行VBA宏

时间:2013-08-11 17:43:50

标签: vba ms-office word-vba

我为单词模板创建了一个VBA宏,我想将它与一个按钮(图形按钮,非键盘按钮)相关联。基本上有两种创建宏的方法:

1)使用宏录像机

2)使用VBA进行应用程序从头开始编写宏

但我发现了以下几种问题:

我试过第一个,我想要的是在按钮onclick事件上执行一个宏。但是我没有得到如何将宏指定给那个按钮。

对于第二种选择,我尝试了以下程序:

按Alt + F11转到VB。 在“工具”菜单上,单击“引用”。 选择Microsoft Visual Basic for Applications Extensibility的参考。 插入一个新模块,然后添加以下代码示例。

 Sub Test()

'Add a command button to a new document
Dim doc As Word.Document
Dim shp As Word.InlineShape
Set doc = Documents.Add

Set shp = doc.Content.InlineShapes.AddOLEControl(ClassType:="Forms.CommandButton.1")
shp.OLEFormat.Object.Caption = "Click Here"

'Add a procedure for the click event of the inlineshape
'**Note: The click event resides in the This Document module
Dim sCode As String
sCode = "Private Sub " & shp.OLEFormat.Object.Name & "_Click()" & vbCrLf & _
        "   MsgBox ""You Clicked the CommandButton""" & vbCrLf & _
        "End Sub"
doc.VBProject.VBComponents("ThisDocument").CodeModule.AddFromString sCode

End Sub

这是通过Vb创建宏的代码。但是这里的错误出现在第二行代码中。

有人可以建议我如何在点击按钮上获取可执行宏吗?我在上面的代码中有任何错误吗?

2 个答案:

答案 0 :(得分:2)

对于2010年的办公室:

1.Macros可以分配给显示在窗口左上角的按钮(快速访问工具栏) 创建宏时,它会询问您是否要将其分配给键盘或按钮,您可以在其中选择按钮

2.您可以添加command button或任何其他将在您单击时运行代码的控件。首先,您必须在功能区中添加“命令按钮”,以便在页面中创建按钮。要添加它,您可以点击Office按钮,转到Options,然后转到Customize Ribbon,然后从All commands下拉列表中选择Choose commands from。找到Command Button并将其添加到功能区的某处。您可能必须在功能区中创建自定义选项卡。 如果功能区中有按钮,则可以向页面添加按钮,在添加功能区后双击它,您可以在按钮的事件处理程序中编写代码。你可以复制&将宏代码粘贴到那里或使用call命令调用宏 How to add a button and call a Macro

答案 1 :(得分:1)

关于在点击而不是实际运行时显示VB代码的命令按钮的问题 - 请确保您没有处于设计模式。查看功能区上的“开发人员”选项卡,确保未突出显示“设计模式”。