カテゴリー名: [VBEの自動操作によるExcelマクロの組込み]
Excelにマクロを組み込む方法にかんして、
準備と予備知識について記します。
VBAのマクロをExcelに組み込む処理は、VBE(Visual Basic Editor)で行うのが一般的だと思います。
しかし、それ以外に VBScriptプログラムによって行うこともできます。
VBEを立ち上げてマクロのコードを入力する方法ではなく、
メモ帳などでマクロコードを書いたテキストファイルを用意して、
VBScriptプログラムを実行することによりマクロを組み込むやり方です。
その場合、Excelのマクロセキュリティの設定をあらかじめ変更しておく必要があります。設定変更は一度やるだけでOKです。
ExcelをGUI操作して、マクロのセキュリティに関して次の設定変更を行います。
具体的な操作方法は、Excelのバージョンによって違うのでここでは省略します。
上記は Excelのセキュリティを緩める処置です。
あまり神経質にならなくてもいいとは思いますが、
気になるようでしたら、VBScriptによるマクロの組込みをやらない時は
セキュリティを強化しておく方がいいかもしれません。
Excelでマクロを扱う場合の仕組みとして、
まずプロジェクト(VBProject)というのがあります。
プロジェクトの中には、複数のコンポーネント(VBComponent)が含まれています。
コンポーネントというのは、標準モジュール、クラスモジュール、ユーザーフォームなどのことです。それらの総称です。
そして、コンポーネントの本体(ソースコード)を見ると、
Sub Macro1 …… End Sub
のようなマクロ(プロシージャ)が書かれています。
一つのコンポーネントに複数のプロシージャが書かれていることもしばしばです。
Macro1 の他に Macro2 があるといったケースです。
マクロにかかわる構成要素には上記のようなものがあるので、漠然とでも念頭に置いておいて下さい。
コンポーネントには、標準モジュールとかクラスモジュールなどの種類(Type)と、
「Module1」 「Module2」とか「Class1」などの名前(Name)の属性があります。
これら属性の値は、component.Type(数値)、
component.Name(文字列)で知ることができます。
Typeの値には次の意味合いがあります。
コンポーネントにかかわるVBScriptのコードを一部のみ掲げてみます。
VBProject.VBComponents.Add(1)
VBProject.VBComponents.Add(2)
VBProject.VBComponents("Module1").Name =
"TestModule"
VBProject.VBComponents("Module1")
というのは、Module1という名前のコンポーネントオブジェクトを指します。
なお、イベントプロシージャを組み込むところ(シートモジュール、ブックモジュール)もコンポーネントの一種です。
シートモジュールとブックモジュールは、最初から存在しているので Addメソッドで追加する必要はありません。
標準モジュールやクラスモジュールとは、かなり色合いが違います。
〜 以上 〜