VBAを使ったバーコードの使用と自動化 Word
VisualBasic for Applications (VBA)を使えば、Wordで様々なことを解決できます。 ここでは、VBAでActiveBarcodeコントロールを埋め込み、使用し、削除する方法を紹介します:
ActiveBarcode コントロールをドキュメントに埋め込みます:
この例では、バーコードコントロールがカーソルの位置に置かれます。その後、変数abを使用してオブジェクトを変更することができます:
Dim ab As Object Set ab = Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1", FileName:="", LinkToFile:=False, DisplayAsIcon:=False)変数abを使ってオブジェクトの標準プロパティ(高さ、幅)を設定する:
ab.Width = 200 ab.Height = 120プロパティOLEFormat.Objectを使うと、バーコード・オブジェクトのプロパティとメソッドにアクセスできる:
ab.OLEFormat.Object.Type = 6 ab.OLEFormat.Object.Text = "987698769812"また、例えばabObjectという名前の変数を作成して使用することで、よりすっきりとした方法でプロパティにアクセスすることもできます:
Dim abObject As Object With ab.OLEFormat .Activate Set abObject = .Object End With abObject.Type = 6 abObject.Text = "987698769812"次の呼び出しを使用すると、InlineShapeにバーコードオブジェクトをキャストすることができます。変換後にバーコードを変更することはできないことに注意してください。
ab.ConvertToShapeコントロールが不要になった場合は、ドキュメントから削除することができます:
ab.Deleteヒント: マクロ内でWindowsが今後のイベント(KeepWindowsAliveと呼ばれることが多い)を処理する必要がある場合、次のVBA関数を使用してこれを強制できます:
DoEventsこれは例えば、コントロールがそれ自身を新しく描画しなければならない場合などに必要となる。