実現したいこと
VBAの参照設定をボタンでワンクリックでやりたいです。
他の人にも配る目的で、作成しましたがどうもうまく設定ができません。
下記二パターンでやりましたが、どちらも自分のPCではできるのですが、ほかのPCではできず。。。
何か策はあるでしょうか。
ここに実現したいことを箇条書きで書いてください。
行ったこと
①パスを参照して、参照設定を選ばせる方法
以下コード-----------------------------------
Sub ボタン6_Click_初期設定()
Dim myRef As Variant
If Dir("C:\Program Files\Bricsys\BricsCAD V19 ja_JP\axbricscadapp1.dll") = "" Then
Else
Set myRef = ActiveWorkbook.VBProject.References.AddFromFile("C:\Program Files\Bricsys\BricsCAD V19 ja_JP\axbricscadapp1.dll")
End If
End Sub
②外部オブジェクトのGUIDで参照設定を選ばせる方法
以下コード-----------------------------------
Sub ボタン6_Click_初期設定()
Dim myRef As Variant
If Dir("C:\Program Files\Bricsys\BricsCAD V19 ja_JP\axbricscadapp1.dll") = "" Then
Else
Set myRef = ActiveWorkbook.VBProject.References.AddFromGuid("{E5F83403-221E-4D53-93CC-EBFF68F268D5}", 19, 0)
End If
End Sub
前提
他の人にVBAマクロを配布する際、参照設定をさせるのは難しいと判断し、ワンクリックで参照設定が
できないか、考えております。
追記)
GUIDは以下のコードで調べております。
Private Sub Sample()
Dim VBProj As VBIDE.VBProject Dim Ref As VBIDE.Reference ' 参照設定が必要: Microsoft Visual Basic for Applications Extensibility (5.3) On Error GoTo ErrorHandler ' エラーハンドリングを追加 ' 現在のVBAプロジェクトを取得 Set VBProj = ThisWorkbook.VBProject ' 参照をループ For Each Ref In VBProj.References Debug.Print "Name: " & Ref.Name Debug.Print "GUID: " & Ref.GUID Debug.Print "Major: " & Ref.Major Debug.Print "Minor: " & Ref.Minor Next ' オブジェクトの解放 Set Ref = Nothing Set VBProj = Nothing Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description
Set Ref = Nothing
Set VBProj = Nothing
End Sub
発生している問題・エラーメッセージ
特にエラーはありません。
該当のソースコード
試したこと
試したことは上記2つになります。
補足情報(FW/ツールのバージョンなど)
なし
回答1件
あなたの回答
tips
プレビュー
