このページについて
参照設定はExcelVBA(マクロ)でライブラリを使用するための簡単な方法です。参照設定を前提としてコードを記述してしまうと、コードを移植するときにその都度新しいブックで参照設定が必要になります。参照設定を忘れると以下のようなコンパイルエラーが発生します。このページでは参照設定を使用したアーリーバインディング記法と参照設定を省略できるレイトバインディング記法についてコピペできるサンプルコードを掲載しています。適宜対象は増減させます。

凡例
オブジェクトの概要
当該オブジェクトの使用場面や、使用する目的について簡単に記述します。
設定名
区分 | 名称 |
---|---|
ProgID | CreateObjectに渡す文字列を記載します。 |
参照設定 | 参照設定の一覧での表示名を記載します。 |
サンプルコード(クリックでコピー)
アーリーバインディング記法(参照設定)
Private Sub Test_EarlyBinding()
Dim dic As Dictionary
Set dic = New Dictionary
End Sub
レイトバインディング記法(CreateObject)
Private Sub Test_LateBinding()
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
End Sub
FileSystemObject(ファイルシステムオブジェクト)
オブジェクトの概要
ファイルシステムオブジェクトはファイルやフォルダの操作をすることができます。存在確認や、新規作成、移動、削除など。
設定名
区分 | 名称 |
---|---|
ProgID | Scripting.FileSystemObject |
参照設定 | Microsoft Scripting Runtime |
サンプルコード(クリックでコピー)
アーリーバインディング記法(参照設定)
Private Sub Test_EarlyFileSystemObject()
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
End Sub
レイトバインディング記法(CreateObject)
Private Sub Test_LateFileSystemObject()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
End Sub
Dictionary(ディクショナリー:連想配列)
オブジェクトの概要
連想配列とは何かという説明はここではしませんが、辞書型やハッシュ型とも呼ばれるデータを格納して取り扱うオブジェクトです。
設定名
区分 | 名称 |
---|---|
ProgID | Scripting.Dictionary |
参照設定 | Microsoft Scripting Runtime |
サンプルコード(クリックでコピー)
アーリーバインディング記法(参照設定)
Private Sub Test_EarlyDictionary()
Dim dic As Scripting.FileSystemObject
Set dic = New Scripting.FileSystemObject
End Sub
レイトバインディング記法(CreateObject)
Private Sub Test_LateDictionary()
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
End Sub
wsh(WindowsScriptHostのシェルオブジェクト)
オブジェクトの概要
wsh.Runなどでいろんなことを実行できます。コマンドの実行や、アプリケーションの起動など。他にもデスクトップパスやスタートアップパスを取得するといったことにも使えます。
設定名
区分 | 名称 |
---|---|
ProgID | WScript.Shell |
参照設定 | Windows Script Host Object Model |
サンプルコード(クリックでコピー)
アーリーバインディング記法(参照設定)
Private Sub Test_EarlyWsh()
Dim wsh As IWshRuntimeLibrary.WshShell
Set wsh = New IWshRuntimeLibrary.WshShell
End Sub
レイトバインディング記法(CreateObject)
Private Sub Test_LateWsh()
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
End Sub
ADODBストリームオブジェクト
オブジェクトの概要
テキストデータの読み書きによく使用します。
設定名
区分 | 名称 |
---|---|
ProgID | ADODB.Stream |
参照設定 | Microsoft ActiveX Data Objects x.x Library |
サンプルコード(クリックでコピー)
アーリーバインディング記法(参照設定)
Private Sub Test_EarlyAdoStream()
Dim adoStream As ADODB.Stream
Set adoStream = New ADODB.Stream
End Sub
レイトバインディング記法(CreateObject)
Private Sub Test_LateAdoStream()
Dim adoStream As Object
Set adoStream = CreateObject("ADODB.Stream")
End Sub
あなたの問題は解決しましたか?
何事においてもすべての人にとって有効な解決策を提示することは難しいです。このページを読んでもあなたの問題は解決しなかったかもしれません。そのまま孤独な戦いに戻る前にコメント欄、もしくは問い合わせから遠慮なくご質問をお寄せください。(私が気づけば)1営業日内に反応します。
Comment