2012-11-09 59 views
0

我的機器上有Excel 2003和2010,所以當我使用set xlapp = new excel.application時,它創建了一個新的Excel 2003應用程序。我的工作是使用shell創建一個新的Excel 14應用程序。它的工作原理,但我需要打開一個現有的Excel文件以後引用對象。我想引用一個用shell創建的新excel對象

我想在不打開現有文件的情況下引用該對象。有沒有什麼辦法可以在不使用文件名的情況下引用新的Excel應用程序。以下是現有文件的代碼。請告訴我正確的方法來做到這一點。

Dim MyApp As Excel.Application 
TaskID = Shell("C:\Program Files\Microsoft Office\Office14\EXCEL.EXE "C:\Book2.xlsx", vbNormalFocus) 
Set MyApp = GetObject("C:\Book2.xlsx").Application 
+2

'Set MyApp = GetObject(,「Excel.Application」)' –

回答

0

您可以創建ANS關閉Excel ...

strFileName = "c:\test.xls" 

Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = True ' You don't have to use this property.... 

Set objWorkbook = objExcel.Workbooks.Add() 
objWorkbook.SaveAs(strFileName) 

objExcel.Quit 

但願對你的工作?看到這裏原來的解決方案:Create an Excel file using vbscripts

+0

我的問題是,我只有一個clsid。我不想以傳統方式創建新的Excel應用程序,因爲它總是默認爲2003(甚至是w/excel.application.14)。我需要使用shell。只是想知道是否有辦法引用使用shell創建的對象而不打開現有文件。謝謝。 –

+0

哦耶穌。剛剛得到你的觀點謝謝。 –

+0

好,如果這對你有用,請考慮標記我的答案爲好,以便其他用戶可以更容易地找到... – salih0vicX

相關問題