3

Excel から内容をコピーして Word に貼り付ける VBA コードがあります。私が抱えている問題は、スプレッドシートを開く方法です。絶対パス参照を使用して開くことができます

Workbooks.Open "C:\path\filename.xls"

相対パス参照を使用してスプレッドシートを参照したいと思います。Excel ワークブックから別のワークブックへの相対パス参照のコードを見つけることができましたが、Word から実行している場合は機能しないようです。

4

1 に答える 1

1

Excel オブジェクト ライブラリへの参照を追加し、コードでオブジェクトを作成し、そのオブジェクトを使用して Excel のインスタンスを制御します。念のため、ActiveWorkbook などは避けてください。

参照を追加した後:

Sub DoStuffWithExcelInWord()
   Dim xl As Excel.Application
   Dim wkbk As Excel.Workbook
   Dim wk As Excel.Worksheet
   Set xl = CreateObject("Excel.Application")
   Set wkbk = xl.Workbooks.Open("C:\test.csv")
   Set wk = wkbk.Sheets(1)
   Debug.Print wk.Cells(1, 1).Value
   xl.Quit
   Set wk = Nothing
   Set wkbk = Nothing
   Set xl = Nothing
End Sub

Excel を使用して非常によく似たものを作成して、Word を自動化することもできます。

于 2012-11-05T20:04:17.170 に答える