「excel vba forms objectlibraryが無い」
「excel vba参照設定ライブラリーにmicrosoft formsが無い」
「microsft forms2.0 object library ファイルの保管先」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが、割とあります。
VBE(Visual Basic Editor)で、Microsoft Forms 2.0 Object Libraryへの参照設定を行おうとしたものの[参照設定 - VBAProject]ダイアログに、
該当するライブラリファイルが見つからないので、どこにあるのかを探している方による検索キーワードです。
既にご紹介しているとおり、MSForms・Microsoft Forms 2.0 Object Libraryの参照設定は、[参照設定 - VBAProject]ダイアログで頑張ってファイルを探すよりも、ユーザーフォームを挿入するのが楽です。
MSFormsへの参照設定を行うサンプルマクロ
フォームを挿入するだけの操作でも頻繁に行うとなると面倒に感じますので、マクロを作ってみました。
[セキュリティセンター]ダイアログ-[マクロの設定]-[開発者向けのマクロ設定]欄-[VBAプロジェクトオブジェクトモデルへのアクセスを信頼する]チェックボックスをOnにしておいてから、以下のマクロを実行するとMicrosoft Forms 2.0 Object Libraryへの参照設定が行われます。
On Error GoTo ErrHndl
Application.VBE.ActiveVBProject.References.AddFromGuid _
GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", _
Major:=2, _
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
サンプルマクロの解説
VBIDEライブラリの、ReferencesコレクションオブジェクトのAddFromGuidメソッドを使うと、
AddFromGuidという名前のとおり、GUID(Globally Unique Identifier)を使って参照設定を追加できます。
VBIDE.Referencesコレクションを取得するオブジェクトの経路はいくつもありますが、上記のマクロではExcelだけでなく、WordやPowerPointなどからも使えるように、
ApplicationオブジェクトのVBEプロパティから辿る、
オブジェクト式にしています。
Home » VBE(Visual Basic Editor) » MSForms・Microsoft Forms 2.0 Object Libraryの参照設定を行うマクロ