「excel vba 参照設定をマクロでする」
「excel2010 マクロ 参照設定を自動的に」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。
Excel VBA(Visual Basic for Applications)で、参照設定を行うためのマクロを探している方による検索です。
Microsoft Scripting Runtimeへの参照設定を行うサンプルマクロ
具体的にどのライブラリに対して参照設定を行いたいのかがわかりませんので、FileSystemObject等を使えるようにする、Microsoft Scripting Runtimeの参照設定を行うマクロを、ご紹介しておきます。
On Error GoTo ErrHndl
Application.VBE.ActiveVBProject.References.AddFromGuid _
GUID:="{420B2830-E718-11CF-893D-00A0C9054228}", _
Major:=1, _
Minor:=0
On Error GoTo 0
Exit Sub
ErrHndl:
Select Case Err.Number
Case 32813 ' 参照設定済の場合
Resume Next
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
[セキュリティセンター]ダイアログ-[マクロの設定]-[開発者向けのマクロ設定]欄-[VBAプロジェクトオブジェクトモデルへのアクセスを信頼する]チェックボックスをOnにしておいてから、上記のマクロを実行すると、Microsoft Scripting Runtimeへの参照設定が行われ、FileSystemObjectやDictionaryオブジェクトを事前バインディングで使えるようになります。
他のライブラリへの参照設定を行う場合
上記のマクロは既にご紹介している、MSForms・Microsoft Forms 2.0 Object Libraryの参照設定を行うマクロと、ほとんど同じです。
違うのは、
GUID:="{420B2830-E718-11CF-893D-00A0C9054228}", _
Major:=1, _
Minor:=0
の部分です。
この部分を変更すれば、他のライブラリへの参照設定も可能です。
例えば、ADODB・Microsoft ActiveX Data Objects 6.1 Libraryへの参照設定を行うマクロにするのなら、
GUID:="{B691E011-1797-432E-907A-4D8C69339129}", _
Major:=6, _
Minor:=1
VBIDE・Microsoft Visual Basic for Applications Extensibility 5.3への参照設定を行いたいのなら、
GUID:="{0002E157-0000-0000-C000-000000000046}", _
Major:=5, _
Minor:=3
です。
- Newer:FIND関数で後ろ・右から文字を探して位置を取得する
- Older:Find・FindNextで検索して行を選択する
Home » FSO・FileSystemObjectの使い方 » Microsoft Scripting Runtimeへの参照設定を行うマクロ