Share via


WordBasic マクロを Visual Basic マクロに変換する

Word 2003 と Word 2007 では、次のいずれかの操作を初めて実行するときに、Word 6.x または Word 95 テンプレートのマクロが自動的に変換されます。

  • テンプレートを開くとき

  • テンプレートを使用して文書を作成するとき

  • 手動で文書にテンプレートを添付するとき

マクロが変換されている間、ステータス バーにメッセージが表示されます。 変換が終了したら、テンプレートを保存して、変換後のマクロを保存する必要があります。 テンプレートを保存しないと、次にテンプレートを使用するときに、再びマクロが変換されます。

メモ Word は Word 2.x マクロを直接変換できません。 このため、Word 2.x のテンプレートを Word 6.x または Word 95 で開いて保存してから、Word で開く必要があります。

変換プロセスは、各マクロを Visual Basic モジュールに変換します。 変換されたマクロを表示するには、Alt キーを押しながら F8 キーを押します。 [マクロ] ダイアログ ボックスのマクロ名は、マクロ名として表示されます。Main は、変換されたマクロ (以前のバージョンの Word で Sub MAIN で始まったサブルーチン) のメイン サブルーチンを指します。 変換されたマクロを編集するには、マクロ名を選択し、[ 編集 ] をクリックして Visual Basic エディターに Visual Basic モジュールを表示します。 WordBasic の各ステートメントは、Visual Basic for Applications で動作するように変更されます。 変換後の WordBasic マクロは、新しく作成または記録する Visual Basic マクロと同じ結果が得られますが、マクロ自体が同じというわけではありません。 次の使用例は、Word 95 テンプレートに保存された WordBasic マクロです。

Sub MAIN 
FormatFont .Name = "Arial", .Points = 10 
Insert "Hello World" 
End Sub

このテンプレートを Word 2002 で開くと、マクロが次のコードに変換されます。

Public Sub Main() 
WordBasic.FormatFont Font:="Arial", Points:=10 
WordBasic.Insert "Hello World" 
End Sub

変換されたマクロ内の各ステートメントは 、WordBasic プロパティで始まります。 WordBasic は、すべての WordBasic ステートメントと関数を含むオブジェクトを返す、Word オブジェクト モデルのプロパティです。このオブジェクトを使用すると、WordBasic マクロを Word で実行できます。

メモ 元のテンプレートにテンプレートを保存すると、WordBasic マクロは完全に失われ、以前のバージョンの Word では変換されたマクロを使用できなくなります。

次の Visual Basic マクロは、上の WordBasic マクロと同じ結果が得られます。ただし、Visual Basic マクロでは、 WordBasic プロパティを使用していません。

Public Sub Main() 
 With Selection.Font 
 .Name = "Arial" 
 .Size = 10 
 End With 
 Selection.TypeText Text:="Hello World" 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。