参照設定とCreateObjectの対応リスト
はじめに
インターネットのサンプルを見ていると、この参照設定に対応するCreateObjectが知りたい、あるいは、このCreateObjectに対応する参照設定が知りたい、ということはありませんか?
このページではよく使われるオブジェクトについて参照設定とCreateObjectの対応関係を整理しました。
参照設定して使う場合は、VBEのツールメニューから参照設定ダイアログを開き、後述の各オブジェクトの参照設定名に記載されたライブラリを探してチェックを入れてください。この場合のサンプルコードはアーリーバインディング書式と記載されたものです。
CreateObjectの場合は、ProgIDを指定します。この場合のサンプルコードはレイトバインディング書式と記載されたものです。
ファイルシステムオブジェクト
- 説明
- ファイル・フォルダの生成・移動・削除やテキストファイルの生成、読み込みなどに使用
- ProgID
- Scripting.FileSystemObject
- 参照設定名
- Microsoft Scripting Runtime
- ライブラリ名
- Scripting
- オブジェクト名
- FileSystemObject
- アーリーバインディング書式
Dim fso As Scripting.FileSystemObject Set fso = New Scripting.FileSystemObject
- レイトバインディング書式
Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject")
- 説明
- 辞書型、連想配列、ハッシュなどと呼ばれるデータ型を扱うオブジェクト。コレクションの強力版。
- ProgID
- Scripting.Dictionary
- 参照設定名
- Microsoft Scripting Runtime
- ライブラリ名
- Scripting
- オブジェクト名
- Dictionary
- アーリーバインディング書式
Dim dic As Scripting.Dictionary Set dic = New Scripting.Dictionary
- レイトバインディング書式
Dim dic As Object Set dic = CreateObject("Scripting.Dictionary")
- 説明
- WindowsScriptHostのシェルオブジェクト。Dosコマンドの実行、アプリケーションの起動などに使用する。
- ProgID
- WScript.Shell
- 参照設定名
- Windows Script Host Object Model
- ライブラリ名
- IWshRuntimeLibrary
- オブジェクト名
- WshShell
- アーリーバインディング書式
Dim wsh As IWshRuntimeLibrary.WshShell Set wsh = New IWshRuntimeLibrary.WshShell
- レイトバインディング書式
Dim wsh As Object Set wsh = CreateObject("WScript.Shell")
- 説明
- Windowsのシェルオブジェクト。コントロールパネルアイテムの表示、ウインドウの整列、フォルダの参照ダイアログの表示などに使用する。
- ProgID
- Shell.Application
- 参照設定名
- Microsoft Shell Controls And Automation
- ライブラリ名
- Shell32
- オブジェクト名
- Shell
- アーリーバインディング書式
Dim sh As Shell32.Shell Set sh = New Shell32.Shell
- レイトバインディング書式
Dim sh As Object Set sh = CreateObject("Shell.Application")
- 説明
- Windows Management Instrumentation。レジストリなど、Windowsのシステム管理に使用するオブジェクト。
- ProgID
- WbemScripting.SWbemLocator
- 参照設定名
- Microsoft WMI Scripting VX.X Library
- ライブラリ名
- WbemScripting
- オブジェクト名
- SWbemLocator
- アーリーバインディング書式
Dim wmiLocator As WbemScripting.SWbemLocator Set wmiLocator = New WbemScripting.SWbemLocator
- レイトバインディング書式
Dim wmiLocator As Object Set wmiLocator = CreateObject("WbemScripting.SWbemLocator")
- 説明
- IEアプリケーションオブジェクト。ブラウザ操作の自動化などに利用。
- ProgID
- InternetExplorer.Application
- 参照設定名
- Microsoft Internet Controls
- ライブラリ名
- SHDocVw.InternetExplorer
- オブジェクト名
- SWbemLocator
- アーリーバインディング書式
Dim ie As SHDocVw.InternetExplorer Set ie = New SHDocVw.InternetExplorer
- レイトバインディング書式
Dim ie As Object Set ie = CreateObject("InternetExplorer.Application")
- 備考
- InternetExplorerのDocumentプロパティはHTMLObject型なので、Microsoft HTML Object Libraryも合わせて参照設定しておくとコーディングが捗ります。
- 説明
- 文字列のパターンマッチングに使用する。
- ProgID
- VBScript.RegExp
- 参照設定名
- Microsoft VBScript Regular Expressions 5.5
- ライブラリ名
- VBScript_RegExp_55
- オブジェクト名
- RegExp
- アーリーバインディング書式
Dim re As VBScript_RegExp_55.RegExp Set re = New VBScript_RegExp_55.RegExp
- レイトバインディング書式
Dim re As Object Set re = CreateObject("VBScript.RegExp")
- 説明
- データベースへの接続に使用
- ProgID
- ADODB.Connection
- 参照設定名
- Microsoft ActiveX Data Objects X.X Library
- ライブラリ名
- ADODB
- オブジェクト名
- Connection
- アーリーバインディング書式
Dim cn As ADODB.Connection Set cn = New ADODB.Connection
- レイトバインディング書式
Dim cn As Object Set cn = CreateObject("ADODB.Connection")
- 説明
- データベースのレコード取得時に使用
- ProgID
- ADODB.Recordset
- 参照設定名
- Microsoft ActiveX Data Objects X.X Library
- ライブラリ名
- ADODB
- オブジェクト名
- Recordset
- アーリーバインディング書式
Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset
- レイトバインディング書式
Dim rs As Object Set rs = CreateObject("ADODB.Recordset")
- 説明
- UTF-8のテキスト読み書きなどに使用
- ProgID
- ADODB.Stream
- 参照設定名
- Microsoft ActiveX Data Objects X.X Library
- ライブラリ名
- ADODB
- オブジェクト名
- Stream
- アーリーバインディング書式
Dim adoStream As ADODB.Stream Set adoStream = New ADODB.Stream
- レイトバインディング書式
Dim adoStream As Object Set adoStream = CreateObject("ADODB.Stream")
- 説明
- クリップボードの読み書きに使用
- ProgID
- なし
※代わりにClassIDに"new:"を付けてCreateObjectすることができる。 - ClassID
- {1C3B4210-F441-11CE-B9EA-00AA006B1A69}
- 参照設定名
- Microsoft Forms 2.0 Object Library
- ライブラリ名
- MSForms
- オブジェクト名
- DataObject
- アーリーバインディング書式
Dim clipboard As MSForms.DataObject Set clipboard = New MSForms.DataObject
- レイトバインディング書式
Dim clipboard As Object Set clipboard = CreateObject( _ "new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
- Microsoft Excel X.X Object Library
- Microsoft Word X.X Object Library
- Microsoft Outlook X.X Object Library
- Microsoft PowerPoint X.X Object Library
- Microsoft Access X.X Object Library
ディクショナリーオブジェクト
WSHシェルオブジェクト
シェルオブジェクト
WMIオブジェクト
InternetExplorerオブジェクト
正規表現オブジェクト
ADOコネクションオブジェクト
ADOレコードセットオブジェクト
ADOストリームオブジェクト
データオブジェクト
その他
Office系の参照設定もよく使用しますが、これらのProgIDは「アプリ名.Application」と付けるだけなので割愛します。