excelVBA 参照設定
はじめに
Excel VBA マクロの参照設定する方法について紹介します。
excel参照設定すると VBA からファイルシステムが扱えるようになるなど機能を拡張できます。
CreateObject 関数を使用すると、参照設定しないでライブラリを使用できます。
目次
参照設定する
参照設定しないで使用する
参照設定する
[ツール] から [参照設定] をクリックします。
"excel2021524-701-1"
参照設定したい [ライブラリ] をチェックして [OK] をクリックします。
"excel2021524-701-2"
これで参照したライブラリに含まれている型が扱えるようになっています。
"excel2021524-701-3"
どういうライブラリがあるのかは数が多すぎるので紹介できませんが「Microsoft Scripting Runtime」はファイルシステムを扱えるのでよく使われます。
詳しくは「FileSystemObject ファイル操作の基礎」をご覧ください。
excel参照設定している VBA を実行するには、実行環境にも同じ DLL が存在する必要があります。通常はエクセルがインストールされていれば問題ありません。存在しないときはエラーになります。
参照設定を削除する
参照設定を削除したい [ライブラリ] のチェックを外して [OK] をクリックします。
"excel2021524-701-4"
参照設定が削除されます。参照設定していたライブラリのコードが残っているときは、実行時にエラーになります。
"excel2021524-701-5"
参照設定しないで使用する
参照設定しなくても、そのライブラリを使用する方法を紹介します。
「CreateObject 関数」を使用すると、指定したライブラリの型が扱えるようになります。
コピー
' FileSystemObject をインスタンス化する
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
' FileSystemObject を使用する
Dim exists As Boolean
exists = fso.FileExists("D:\test.txt")
' 後始末として必ず Nothing を設定してオブジェクトを解放する
Set fso = Nothing
このように参照設定したときと同じようにライブラリを使用できます。ただしインテリセンスが表示されないため、入力ミスには注意が必要です。
「CreateObject 関数」を使用するメリットは、そのライブラリのバージョンの違いを考慮しなくてよくなります。参照設定する方法では、開発環境と実行環境でバージョンが違うとエラーになります。また、使用するライブラリが存在するのかチェックできます。