1

Word テンプレート用の VBA マクロを作成しましたが、それをボタン (キーボード ボタンではなくグラフィックス ボタン) に関連付けたいと考えています。マクロを作成するには、基本的に次の 2 つの方法があります。

1) マクロレコーダの使用

2) アプリケーション用 VBA を使用してゼロからマクロを作成する

しかし、私はこれらの方法でいくつかの問題を発見しました:

最初に試したのは、ボタンのonclickイベントでマクロを実行することです。しかし、そのマクロをそのボタンに割り当てる方法がわかりません。

2番目のオプションについては、次の手順を試しました:

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 行目にエラーが発生しています。

ボタンのクリックで実行可能なマクロを取得する方法を教えてもらえますか? 上記のコードで間違いを犯していますか?

4

2 に答える 2

1

コマンド ボタンをクリックすると、実際に実行するのではなく VB コードが表示されるという問題に関しては、デザイン モードではないことを確認してください。リボンの [開発] タブの下を見て、[デザイン モード] が強調表示されていないことを確認します。

于 2013-10-08T16:17:14.367 に答える