Word 文書にボタンを追加し、実行時にその Click イベントを割り当てる方法
概要
この記事では、Microsoft Visual Basic for Applications マクロを使用して、プログラムによって Microsoft Word ドキュメントにコントロールを追加し、そのコントロールの Click イベント ハンドラーを追加する方法について説明します。
詳細情報
次の手順は、文書にコントロールを追加し、実行時にそのコントロールの Click イベントを割り当てる Word マクロを作成する方法を示しています。 手順は Word 用です。 ただし、同じ概念を適用して、Microsoft Excel ブックのコントロールをプログラムで操作できます。
注:
実行時に Microsoft Office ドキュメントの Visual Basic プロジェクトを操作するには、Microsoft Visual Basic for Applications機能拡張ライブラリへの参照が必要です。
サンプルを作成する手順
Word で新しいドキュメントを開始します。
Alt キーを押しながら F11 キーを押して Visual Basic エディターに移動します。
[ツール] メニューの [参照設定] をクリックします。
Microsoft Visual Basic for Applications機能拡張のリファレンスを選択します。
新しいモジュールを挿入し、次のコード例を追加します。
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
マクロ "Test" を実行します。
マクロ "Test" の実行が完了すると、新しいドキュメントに新しい CommandButton コントロールが表示されます。 CommandButton コントロールをクリックすると、コントロールの Click イベントが発生します。
Word 2002 および Word 2003 の追加ノート
既定では、Word VBA プロジェクトへのアクセスは無効になっています。 無効にすると、上記のコードで実行時エラー '6068' "Visual Basic Project へのプログラムによるアクセスが信頼されていない" というエラーが生成される場合があります。このエラーとその修正方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
282830 Office VBA プロジェクトへのプログラムによるアクセスが拒否される