2011-03-02 88 views
3

我的電腦同時安裝了Excel 2003和2007以及安裝了Excel 2007兼容包,它還有一個VB腳本,可將記錄構建到csv文件中自動。最近,轉儲到文件中所需的記錄數量顯着增加,超出了Excel 2003中的行限制。因此,我製作了相同文件的副本並將其保存爲.xlsm格式。 然而,當我使用VBScript通過調用運行Excel電子表格後面的宏:VB腳本 - 安裝Excel 2003和Excel 2007時明確調用Excel 2007

Set myApp = CreateObject("Excel.Application") 

Excel文件仍然試圖打開自己轉換(使用兼容包),以Excel 2003和Excel 2003中運行,每次運行都不可避免地會出現錯誤。

有什麼辦法可以強制Excel.Application指向Excel 2007而不是Excel 2003?

謝謝!

回答

2

我有類似的經歷,我正在運行Office 2010,我想使用Office代理直到Office 2003。 所以我在我的盒子上安裝了Excel 2003,但我沒有工作。

我發現這篇文章,並嘗試所有選項。 reaseaching我發現我應該使用:

Set myApp = CreateObject("Excel.Application.11") 

的Office 2003,但它沒有工作。

我的所有測試均在Vbsedit將爲軟件,這表明它是使用Office 2003的工作要做,但它實際上是打開2007年

我試着用primalscript和工作就像一個魅力。

我認爲這可能有助於他人。

1

嘗試:

設置對myApp =的CreateObject( 「Excel.Application.12」)

+0

沒有做到這一點,它仍然在Excel 2003中打開.... – AZhu

+0

好吧,看起來你將不得不通過殼牌打開Excel。這裏有一個例子:[link](http://groups.google.com/group/microsoft.public.scripting.vbscript/browse_thread/thread/8c84fdd37fd34591?fwc=1&pli=1) – Iain

+0

這樣做由於某種原因,GetObject部分總是失敗...... – AZhu

1

看到http://support.microsoft.com/kb/292491

有: 出於測試目的,開發人員可以強制Office應用程序的特定版本通過使用命令行上的/ regserver開關進行註冊。例如,要強制Excel版本,而不運行安裝程序進行註冊,就可以使用類似於以下命令行:

「C:\ Program Files文件\微軟Office \辦公室\ EXCEL.EXE」/ REGSERVER

+0

Excel 14?我認爲2007年是Excel 12 ...不知道什麼Excel 14是... 2010? – AZhu

+0

反正我給了它一個鏡頭,但這裏是我得到的:Microsoft VBScript運行時錯誤:ActiveX組件不能創建對象:'Excel.Application.14' – AZhu

+0

找到了我。我完全錯了 - 我編輯了我的帖子 – ulluoink