VBAコードを使用してVBAプロジェクトにいくつかの参照をプログラムで接続したい。つまり、[ツール]>[参照]を使用して参照を手動で設定する必要はありません。これは可能ですか?たとえば、MicrosoftOffice12.0オブジェクトライブラリ。
37148 次
3 に答える
7
Office アプリケーションについて言及していません。MS Access では、以下を使用できます。
ReferenceFromFile "C:\Program Files\Common Files\Microsoft Shared\OFFICE14\MSO.DLL"
つまり、追加する参照のフル パスを指定します。
から: http://wiki.lessthandot.com/index.php/Add,_Remove,_Check_References
同様に、Excel では次のようになります。
ActiveWorkbook.VBProject.References.AddFromFile "C:\Program Files\Common Files\Microsoft Shared\OFFICE14\MSO.DLL"
Excel で参照を一覧表示するには: Dim ref As Reference
For Each ref In ActiveWorkbook.VBProject.References
Debug.Print ref.Description; " -- "; ref.FullPath
Next
これは、特定のワークブックのマシンで次を返します。
Visual Basic For Applications -- C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA7\VBE7.DLL
Microsoft Excel 14.0 Object Library -- C:\Program Files\Microsoft Office\Office14\EXCEL.EXE
OLE Automation -- C:\Windows\system32\stdole2.tlb
Microsoft Forms 2.0 Object Library -- C:\Windows\system32\FM20.DLL
Microsoft ActiveX Data Objects 6.0 Library -- C:\Program Files\Common Files\System\ado\msado15.dll
Microsoft XML, v6.0 -- C:\Windows\System32\msxml6.dll
Microsoft Office 14.0 Access database engine Object Library -- C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEDAO.DLL
Microsoft Visual Basic for Applications Extensibility 5.3 -- C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB
Microsoft Office 14.0 Object Library -- C:\Program Files\Common Files\Microsoft Shared\OFFICE14\MSO.DLL
于 2012-05-24T07:29:47.187 に答える
3
完全なパスへの参照を作成することは危険を伴い、コードが別のコンピューターまたは別のバージョンで使用されている場合に問題が発生します。
ほとんどの (すべてのインスタンスではありませんが) アプリケーションの異なるバージョンで同じままである GUID を使用する方がはるかに優れています。
これは、Excel 2010 と Excel 2013 の両方で使用する必要がある Excel 2010 用のコードを記述した場合に特に役立ちます。
于 2014-09-23T01:36:03.823 に答える