3

関数から可能なはずの Word から Excel を制御するオートメーションの使用に問題がありGetObjectます。

Office 2011 for Mac を使用しています。私の目標は、Word 文書から情報を取得し、最新のエントリの後に Excel ワークブックに挿入することです。doc という単語はコントラクト ジェネレーターです。各ワークブックには、約 30 の関連する契約の詳細が含まれます。私が使用したいロジックは、ユーザーがブックの名前を入力できるようにすることです。VBA は完全なパス名とパスを取得し、ブックを制御できるようになります。ただし、単純なケースを機能させることはできません。

まず、現在存在するExcelのインスタンスを制御するための単語を取得することさえできません(ただし、CreateObject("Excel.Application")機能します。事前バインディングを試したところ、次の結果が得られました:

自動化エラー (91)

これを生成するコードは次のとおりです。

Option Explicit

Sub WorkOnAWorkbook()

   Dim Oxl As Excel.Application
   Dim owB As Excel.Workbook

   Set Oxl = GetObject(, "Excel.Application")
   Set owB = Oxl.Workbooks.Open(fileName:="Macintosh HD:Users:User:Desktop:Test.xlsx")

End Sub

また、遅延バインディングを使用してみましたが、次のようになります。

エラー 424 (オブジェクトが必要です)

これを生成するコードは次のとおりです。

Option Explicit

Sub WorkOnAWorkbook()

    Dim Oxl As object
    Dim owB As object

    Set Oxl = GetObject(, "Excel.Application")
    Set owB = Oxl.Workbooks.Open(fileName:="Macintosh HD:Users:User:Desktop:Test.xlsx")

End Sub

ツール - >参照に移動し、Excelオブジェクトに追加したので、プログラムのこの単純な部分が機能しないかどうかはわかりません。

誰かがこの部分を機能させるのを手伝ってくれるといいのですが、理想的には、ワークブックの名前を収集できるようにする私のプログラムの部分です (入力ボックスを介して、入力されたファイルのフルパス名を取得し、制御します)私のプログラムでは他のすべてが機能しますが、Word と Excel の間のこの重要な橋渡しを機能させることができません。

4

1 に答える 1