3
我有一些VBA代碼從Excel中複製東西並將其粘貼到Word中。我遇到的問題是如何打開電子表格。我可以如何從Word中獲得對打開的Excel電子表格的引用?
Workbooks.Open使用絕對路徑引用打開「C:\路徑\ filename.xls」
我寧願參考使用相對路徑引用的電子表格。我能夠找到從Excel工作簿到另一個工作簿的相對路徑引用的代碼,但如果您是從Word執行工作,它似乎不工作。
我有一些VBA代碼從Excel中複製東西並將其粘貼到Word中。我遇到的問題是如何打開電子表格。我可以如何從Word中獲得對打開的Excel電子表格的引用?
Workbooks.Open使用絕對路徑引用打開「C:\路徑\ filename.xls」
我寧願參考使用相對路徑引用的電子表格。我能夠找到從Excel工作簿到另一個工作簿的相對路徑引用的代碼,但如果您是從Word執行工作,它似乎不工作。
添加對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
末次
您可以用的東西使用Excel自動化Word,同樣,如果這是更多的,你要查找的內容非常相似。
'xlApp.Workbooks.Open ThisDocument.Path&「\ filename.xls」'你的標題與你的問題不符...... –
你是對的 - 我的不好。說實話,標題實際上比我實際寫的更接近我的要求:)也就是說,我有一個電子表格,它是開放的,我想抓住它的東西。有沒有辦法讓Word激活任何電子表格打開?非常感謝您的回覆! – user1713174
您應該可以使用'GetObject()'獲取對正在運行的Excel實例的引用(假設只有一個實例處於打開狀態)。一旦你有了,你可以循環訪問'Workbooks'集合並找到你想要的工作。 –