2

オートメーションを使用して MS Excel を制御する (MFC/C++ を使用) サードパーティのレガシー ソフトウェアを使用しています。コードは簡単です。

_ApplicationPtr xl;
HRESULT hr = xl.CreateInstance("Excel.Application");

これは、Excel 2000、2002 (XP)、2003、および 2007 以降で完全に機能しました。ただし、Office 2010 をインストールした後、CreateInstance 呼び出しは「無効なクラス文字列」(CO_E_CLASSSTRING) で失敗します。これを機能させるために何か特別なことをする必要がありますか?

前もって感謝します!

4

1 に答える 1

3

クラス文字列は"Excel.Application"、Microsoft が Office 2010 で変更したと思われる部分です。

通常、「実際の」値は「Excel9.Application」、最新バージョン固有のエントリを指す「Excel.Application」のようなものです。MS がポインター エントリの追加を停止したか、アップグレードでレジストリが台無しになった可能性があります。

于 2010-07-06T19:51:40.130 に答える