質問: VC++でExcelCOM(2000)を使用したアプリケーションをExcel2003に対応しようとしたところ、mso9.dllが2003にないため、エラーとなりました。 使用している箇所は、 #import ”c:¥Program Files¥Microsoft Office¥Office¥mso9.dll” no_dual_interfaces です。 を調べてみるとExcel2003では、mso9.dllの代わりにexcel.exeとなっていて意味が分からない状態です。 解決する方法を教えてください。
回答: Google #import ”c:¥Program Files¥Microsoft Office¥Office¥excel.exe” no_dual_interfaces のようにしても動くと思いますが。。。 ファイル指定ですと環境によってエラーになることがありますから私の場合はインターフェース名を指定する方法を使っています。 #import ”progid:○○○” no_namespace, named_guids というような形にするのがいいです。○の部分は使うCOMに合わせます。Excelの場合は「Excel.Application.9」などになります(Excel内のどの機能を利用するかによって変わります)。