1

Excel に 2 つの VBA マクロがあります。マクロ 1 は、別の Excel ファイルからいくつかの値をコピーします。マクロ 2 は、Bloomberg からいくつかの値を要求します。マクロ 1 には「Microsoft Excel 12.0 Object Library」への参照が必要であり、マクロ 2 には「Bloomberg Data Type Library」への参照を追加する必要があります。

Bloomberg Excel API がインストールされていないマシンでも、ユーザーがマクロ 1 を実行できるようにしたいと考えています。ただし、マクロ 1 を実行しようとすると、次の行が表示されます。

Set XL = CreateObject("Excel.Application")

以下のエラーが表示されます。

 "Cant Find Project or Library"

「ブルームバーグ データ タイプ ライブラリ」参照が見つからないため、「Microsoft Excel 12.0 オブジェクト ライブラリ」もロードしていないようです。

Bloomberg Excel API がインストールされているマシンでは、すべてが期待どおりに機能します。

4

1 に答える 1

2

同じファイルを両方のマシンで動作させたい場合は、まず VBA エディタ -> ツール -> 参照で BBG への参照を削除します。次に、コードで次のようにします。

On Error Resume Next ' turn off errors
Set XL = CreateObject("Excel.Application")

Set BBG = CreateObject("BBGName")

If Not IsEmpty(BBG) Then
    ' Do work with BBG

End If
On Error GoTo 0 ' turn on errors

これにより、BBG ライブラリが存在する場合にのみ BBG マクロを使用でき、存在しない場合はエラーが発生しません。

于 2013-08-10T03:04:46.987 に答える