3

単純な xll ファイルを作成しようとしていますが、msdn サイト http://support.microsoft.com/kb/178474 のチュートリアルに従いましたが、作成でき ませバージョン2007とVisual Studio 2005を使用するだけなので、これがおそらくエラーの原因です:

1>------ Build started: Project: Anewxll, Configuration: Debug Win32 ------
1>Compiling...
1>Anewxll.cpp
1>c:\nam\test\anewxll\anewxll\anewxll.cpp(97) : error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types
1>        c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(5031): could be 'int AfxMessageBox(LPCTSTR,UINT,UINT)'
1>        c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(5033): or 'int AfxMessageBox(UINT,UINT,UINT)'
1>        while trying to match the argument list '(const char [21], long)'
1>c:\nam\test\anewxll\anewxll\anewxll.cpp(140) : error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types
1>        c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(5031): could be 'int AfxMessageBox(LPCTSTR,UINT,UINT)'
1>        c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(5033): or 'int AfxMessageBox(UINT,UINT,UINT)'
1>        while trying to match the argument list '(char [8192], long)'
1>c:\nam\test\anewxll\anewxll\anewxll.cpp(174) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [14]' to 'LPCWSTR'
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
4

2 に答える 2

3

表示されるエラー メッセージは、Excel または Excel SDK とは関係ありません。最初の 2 つのエラーは AfxMessageBox (MFC API) の使用によるもので、3 つ目は Win32 メッセージ ボックス API とのパラメーターの不一致によるものです。これらのエラーは、プロジェクトが Unicode アプリケーションであるために発生します (TCHAR は wchar_t に評価され、MessageBox などのマクロは MessageBoxA ではなく MessageBoxW に評価されます)。最も簡単な修正は、アプリケーションを Unicode から MBCS に変更することです。

ただし、提案する場合は、Add-in Express または ExcelDNA を使用して UDF/RTD を作成することを検討してください。あなたは Win32 C++ プログラミングに慣れていないと思います。その場合、プレーンな C++ と Excel SDK を使用して UDF/RTD/アドインを作成する際に多くの問題に直面することになります。

代わりに、アドイン Express または Excel dna を使用すると、xlopers を直感的な .net タイプやその他のさまざまな配管に変換するという頭痛の種がすべて処理され、ビジネス ロジックに集中できるようになります。

免責事項: 私はアドイン エクスプレスまたは Excel DNA とは一切関係ありません。私はたまたまそれらをオンとオフで使用していました。

于 2013-02-05T18:12:48.157 に答える
2

MSVC++ 2010 Express をインストールできる場合は、 http: //xll.codeplex.comで多くの問題を解決できます。

于 2012-05-28T16:43:27.620 に答える