本記事には広告が含まれています

T0000017_参照設定とCreateObjectの一覧

参照設定とCreateObjectの一覧

このページについて

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

凡例

オブジェクトの概要

当該オブジェクトの使用場面や、使用する目的について簡単に記述します。

設定名

区分名称
ProgIDCreateObjectに渡す文字列を記載します。
参照設定参照設定の一覧での表示名を記載します。

サンプルコード(クリックでコピー)

アーリーバインディング記法(参照設定)

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(ファイルシステムオブジェクト)

オブジェクトの概要

ファイルシステムオブジェクトはファイルやフォルダの操作をすることができます。存在確認や、新規作成、移動、削除など。

設定名

区分名称
ProgIDScripting.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(ディクショナリー:連想配列)

オブジェクトの概要

連想配列とは何かという説明はここではしませんが、辞書型やハッシュ型とも呼ばれるデータを格納して取り扱うオブジェクトです。

設定名

区分名称
ProgIDScripting.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などでいろんなことを実行できます。コマンドの実行や、アプリケーションの起動など。他にもデスクトップパスやスタートアップパスを取得するといったことにも使えます。

設定名

区分名称
ProgIDWScript.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ストリームオブジェクト

オブジェクトの概要

テキストデータの読み書きによく使用します。

設定名

区分名称
ProgIDADODB.Stream
参照設定Microsoft ActiveX Data Objects x.x Library

「x.x」は一番大きい数値を選択します

サンプルコード(クリックでコピー)

アーリーバインディング記法(参照設定)

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営業日以内にレスポンスを返します。

INFRASTRUCTURE 退勤後の1時間が、1年後のキャリアを決める
Microsoft 365 Personal オンラインコード版
Microsoft 365 Personal (1年版)

VBAによる自動化から、Copilot(AI)との連携まで。これは単なる表計算ソフトではなく、あなたの市場価値を高める「開発環境」そのものです。
AIをパートナーとして活用し、現場で必要とされる「システム構築者」になるためには、常に最新機能が提供されるサブスクリプション版(365)が必須となります。

ライバルと同じことをして、ライバルに勝てますか?
業務時間内の学習だけでは、隣の席の同僚と同じ速度でしか成長できません。
差がつくのは、退勤後の「自分だけの時間」です。
誰も見ていない夜、エラーと格闘し、動いた瞬間にガッツポーズする——その泥臭い積み重ねだけが、あなたを「抜きんでた存在」に変えます。
本気でスキルを自分のものにしたいなら、自宅に自由な検証環境を持ってください。

⚠️ 【注意】自動更新のままにしていませんか?
Microsoft公式の「自動更新」よりも、Amazonや楽天で「オンラインコード版(1年)」を買って追加するほうが、安く済むことが多いです。
毎年かかる固定費を、セールやポイント還元をうまく使って、しっかりと節約していきましょう。

TroubleshootingVBA.funcref()
スポンサーリンク

Comment