2011-03-02 9 views
3

私のPCにはExcel 2003と2007の両方があり、Excel 2007互換パックもインストールされています。自動的に。最近、ファイルにダンプするために必要なレコードの数が大幅に増加し、Excel 2003の行制限を超えました。そのため、同じファイルのコピーを作成して.xlsm形式で保存しました。しかし 、私は呼び出すことにより、Excelスプレッドシートの背後にあるマクロを実行するために、VBScriptを使用します。VBスクリプト - Excel 2003とExcel 2007の両方がインストールされている場合、Excel 2007を明示的に呼び出す

Set myApp = CreateObject("Excel.Application") 

Excelファイルがまだエクセル2003(互換機能パックを使用して)変換するために自分自身を開いて、Excel 2003で実行しよう実行するたびに必然的にエラーが発生します。

Excel 2003の代わりにExcel 2007を指すようにExcel.Applicationを強制する方法はありますか?

ありがとうございます!

答えて

2

私は似たような経験を持っていましたが、私はオフィス2010を実行しており、Office 2003まではOfficeエージェントを使用したいと考えています。 私はExcel 2003をインストールしました。

この投稿を見つけ、すべてのオプションを試しました。私は私が使用する必要があることがわかった reaseaching:

Set myApp = CreateObject("Excel.Application.11") 
Office 2003の

が、それは仕事をdidntの。

すべての私のテストは、私がprimalscriptにしようとした魅力のように働いていることがOffice 2003を使用していたことを示している、VBSeditソフトウェアで行われていたが、それは実際に2007年

を開きました。

これは他人を助けるかもしれないと思います。

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:\プログラムファイルは、Microsoft Officeの\オフィスの\ EXCEL.EXEを\」/ REGSERVER

+0

Excel 14?私は2007年がExcel 12だと思います... Excel 14は何ですか... 2010年? – AZhu

+0

私はとにかくそれを与えたが、ここに私が持っているものがある:Microsoft VBScriptランタイムエラー:ActiveXコンポーネントはオブジェクトを作成できません: 'Excel.Application.14' – AZhu

+0

私を得ました。私は完全に間違っていました - 私の投稿を編集しました – ulluoink

関連する問題