2012-10-01 78 views
3

我有一些VBA代碼從Excel中複製東西並將其粘貼到Word中。我遇到的問題是如何打開電子表格。我可以如何從Word中獲得對打開的Excel電子表格的引用?

Workbooks.Open使用絕對路徑引用打開「C:\路徑\ filename.xls」

我寧願參考使用相對路徑引用的電子表格。我能夠找到從Excel工作簿到另一個工作簿的相對路徑引用的代碼,但如果您是從Word執行工作,它似乎不工作。

+0

'xlApp.Workbooks.Open ThisDocument.Path&「\ filename.xls」'你的標題與你的問題不符...... –

+1

你是對的 - 我的不好。說實話,標題實際上比我實際寫的更接近我的要求:)也就是說,我有一個電子表格,它是開放的,我想抓住它的東西。有沒有辦法讓Word激活任何電子表格打開?非常感謝您的回覆! – user1713174

+1

您應該可以使用'GetObject()'獲取對正在運行的Excel實例的引用(假設只有一個實例處於打開狀態)。一旦你有了,你可以循環訪問'Workbooks'集合並找到你想要的工作。 –

回答

0

添加對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,同樣,如果這是更多的,你要查找的內容非常相似。

相關問題