参照設定、CreateObject、オブジェクト式の一覧
VBAでエクセル外のオブジェクトを使うときには、
事前バインディングと遅延バインディング(実行時バインディング)の2通りがあります、
この時それぞれ何を指定したらよいのか、指定する文字列が長いので結構探してしまうことが度々あります。
参照設定、CreateObjectのclass、オブジェクト式
これらの対比表を一覧にまとめてみました。
ネットで見つけたサンプルが、遅延バインディング(実行時バインディング)で書かれていて、
これを事前バインディングに変更しようとしたとき、
また、その逆の場合、
指定すべき文字列を探す時の手助けとしてまとめてみました。
事前バインディングと遅延バインディング(実行時バインディング)
Microsoft Scripting Runtime

Set myDic = New Dictionary
Set myDic = CreateObject("Scripting.Dictionary")
上記の太字部分、
参照設定、AsやNew、CreateObject
名称がそれぞれ違うため、コーディングの時に迷ってしまいます。
以下の表では、この3つの指定文字列を対比表にしています。
class :CreateObject("XXXXX") での指定文字列
オブジェクト式 :As XXXXX、New XXXXX での指定文字列
参照設定 | class(CreateObject) | オブジェクト式(As,New) |
Microsoft Access X.X Object Library | Access.Application | Access.Application |
Microsoft Excel X.X Object Library | Excel.Application | Excel.Application |
Microsoft Word X.X Object Library | Word.Application | Word.Application |
Microsoft Word X.X Object Library | Word.Document | Word.Document |
Microsoft PowerPoint X.X Object Library | PowerPoint.Application | PowerPoint.Application |
Microsoft Outlook X.X Object Library | Outlook.Application | Outlook.Application |
Microsoft CDO for Windows 2000 Library | CDO.Message | CDO.Message |
Microsoft Internet Controls | InternetExplorer.Application | InternetExplorer |
Microsoft HTML Object Library | htmlfile | HTMLDocument |
Microsoft XML, v3.0 | Microsoft.XMLDom | DOMDocument |
Microsoft XML, v6.0 | MSXML2.XMLHTTP | MSXML2.XMLHTTP60 |
Microsoft ActiveX Data Objects X.X Library | ADODB.Connection | ADODB.Connection |
Microsoft ActiveX Data Objects X.X Library | ADODB.Recordset | ADODB.Recordset |
Microsoft ActiveX Data Objects X.X Library | ADODB.Stream | ADODB.Stream |
Microsoft DAO 3.6 Object Library | DAO.DBEngine.120 | DAO.DBEngine |
Microsoft Scripting Runtime | Scripting.Dictionary | Dictionary |
Microsoft Scripting Runtime | Scripting.FileSystemObject | FileSystemObject |
Windows Script Host Object Model | Wscript.Shell | WshShell |
Microsoft Shell Controls And Automation | Shell.Application | Shell32.Shell |
Microsoft VBScript Regular Expressions X.X | VBScript.RegExp | RegExp |
Microsoft WMI Scripting VX.X Library | WbemScripting.SWbemLocator | WbemScripting.SWbemLocator |
Microsoft Forms 2.0 Object Library | new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69} | MSForms.DataObject |
Microsoft Forms 2.0 Object Library | Forms.TextBox.1 Forms.CheckBox.1 Forms.ComboBox.1 Forms.Label.1 Forms.ListBox.1 , etc. |
Forms.TextBox.1 Forms.CheckBox.1 Forms.ComboBox.1 Forms.Label.1 Forms.ListBox.1 , etc. |
ここに掲載したものは、
私が今までに使ったことのあるものを基本としているので、多少の偏りがあるかもしれません。
一度くらい使っても忘れているものもあると思います。
今後、上記以外を使うことがあったり思い出した時点で随時追加していこうと思います。
以下のブログにより詳しい情報もあります。
同じテーマ「マクロVBA技術解説」の記事
VBAでのSQLの基礎(SQL:Structured Query Language)
VBAで正規表現を利用する(RegExp)
VBAでメール送信する(CDO:Microsoft Collaboration Data Objects)
VBAでのOutlook自動操作
ADO(ActiveX Data Objects)の使い方の要点
特殊フォルダの取得(WScript.Shell,SpecialFolders)
参照設定、CreateObject、オブジェクト式の一覧
VBAのスクレイピングを簡単楽にしてくれるSelenium
VBA+SeleniumBasicで検索順位チェッカー作成
VBA+SeleniumBasicで検索順位チェッカー(改)
.Net FrameworkのSystem.Collectionsを利用
新着記事NEW ・・・新着記事一覧を見る
列全体を指定する時のRangeとColumnsの違い|ツイッター出題回答 (2023-09-24)
シートのActiveXチェックボックスの指定方法|ツイッター出題回答 (2023-09-24)
ByRef引数の型が一致しません。|ツイッター出題回答 (2023-09-22)
シートコピー後のアクティブシートは何か|ツイッター出題回答 (2023-09-19)
Excel関数の引数を省略した場合について|ツイッター出題回答 (2023-09-14)
セル個数を返すRange.CountLargeプロパティとは|VBA技術解説(2023-09-08)
記号を繰り返してグラフ作成(10単位で折り返す)|ツイッター出題回答 (2023-08-28)
シートを削除:不定数のシート名に対応|VBAサンプル集(2023-08-24)
ランクによりボイントを付ける(同順位はポイントを分割)|ツイッター出題回答 (2023-08-22)
OneDrive使用時のThisWorkbook.Pathの扱い方|VBA技術解説(2023-07-26)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロとは?VBAとは?VBAでできること|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.条件分岐(IF)|VBA入門
- ホーム
- マクロVBA応用編
- マクロVBA技術解説
- 参照設定、CreateObject、オブジェクト式の一覧
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。