タイプライブラリの#importをヘッダーに記述して、複数オブジェクトで使用する


 タイプライブラリをヘッダーファイルに#importで宣言して、そのヘッダーを複数ファイルに#includeすると
コンパイル時に重複定義のエラーが大量に発生します。これを防ぐには、#pragma once をヘッダーに記述して
一度しか読み込まれないようにしなければなりません。



【サンプル】

[ImpDefined.h]

#pragma once

//Excelを操作するためのタイプライブラリを読みこむ(VC++ 2003.NetでのExcel2002用)
#import "C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL" no_namespace rename("DocumentProperties", "DocumentPropertiesXL") rename("RGB", "MSO_RGBXL")  
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\Vbe6ext.olb" no_namespace   
#import "C:\Program Files\Microsoft Office\Office10\EXCEL.EXE" rename("ReplaceText", "ReplaceTextXL") rename("CopyFile", "CopyFileXL") rename("DialogBox", "DialogBoxXL") rename("RGB", "RGBXL") rename("DocumentProperties", "DocumentPropertiesXL") exclude("IFont") exclude("IPicture") no_dual_interfaces

using namespace Excel;




[サンプル・ソース]

(注意)
このサンプルは、Visual C++ 2003.Net、Excel2002で作成されています。