参照設定、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でのInternetExplorer自動操作
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で検索順位チェッカー(改)
新着記事NEW ・・・新着記事一覧を見る
VBA100本ノック 100本目:WEBから100本ノックのリストを取得|VBA練習問題(3月3日)
VBA100本ノック 99本目:自動席替え(行列と前後左右が全て違うように)|VBA練習問題(3月2日)
VBA100本ノック 98本目:席替えルールが守られているか確認|VBA練習問題(3月1日)
VBA100本ノック 97本目:Accessデータを取得(グループ集計)|VBA練習問題(2月27日)
VBA100本ノック 96本目:Accessデータを取得(マスタ結合&抽出)|VBA練習問題(2月26日)
VBA100本ノック 95本目:図形のテキストを検索するフォーム作成|VBA練習問題(2月24日)
VBA100本ノック 94本目:表範囲からHTMLのtableタグを作成|VBA練習問題(2月23日)
VBA100本ノック 93本目:複数ブックを連結して再分割|VBA練習問題(2月22日)
VBA100本ノック 92本目:セルの色を16進で返す関数|VBA練習問題(2月20日)
VBA100本ノック 91本目:時間計算(残業時間の月間合計)|VBA練習問題(2月19日)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.マクロはどこに書くの(VBEの起動)|VBA入門
10.とにかく書いてみよう(Sub,End Sub)|VBA入門
- ホーム
- マクロVBA応用編
- マクロVBA技術解説
- 参照設定、CreateObject、オブジェクト式の一覧
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。