エクセルのCOMのインポートは一般的にはこんな感じ。
#import "C:\Program Files\Common Files\Microsoft Shared\Office11\MSO.DLL" \
rename("RGB","MSRGB") rename("DocumentProperties","MSDocumentProperties")
// VBE6EXT.OLBのインポート
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
// Excelタイプライブラリのインポート
#define _MSEXCEL_PATH "C:\Program Files\Microsoft Office\Office11\excel.exe"
#import _MSEXCEL_PATH auto_search auto_rename no_auto_exclude dual_interfaces
↑これだと、バージョンによって造り変える必要があるので、
エクセルのバージョンがいくつもあるような環境には対応できないので×。
で、
#import "progid:Excel.Sheet" auto_search auto_rename rename_search_namespace("Office") \
rename( "RGB", "__RGB" ) \
rename( "SearchPath", "__SearchPath") \
rename( "DialogBox", "__DialogBox") \
rename( "CopyFile", "__CopyFile") \
rename( "ReplaceText", "__ReplaceText") \
exclude( "IFont","IPicture")
これでエクセルのバージョンによらないインポートが可能。