You.Activate

参照設定と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")

WSHシェルオブジェクト

説明
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")

WMIオブジェクト

説明
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")

InternetExplorerオブジェクト

説明
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")

ADOコネクションオブジェクト

説明
データベースへの接続に使用
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")

ADOレコードセットオブジェクト

説明
データベースのレコード取得時に使用
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")

ADOストリームオブジェクト

説明
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}")

その他

Office系の参照設定もよく使用しますが、これらのProgIDは「アプリ名.Application」と付けるだけなので割愛します。

  • 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