C++Builder是Borland公司繼Delphi之後又一成功的產品,她集VB、VC++ 及 Delphi 的優點於一體而深得C語言愛好者的青睐。由於多數操作者愛用 MicroSoft公司的Excel組織數據,為此本文介紹了用C++Builder存取Excel 文件的兩種方法。
一.用OLE技術操縱Excel
OLE(對象鏈接與嵌入)是微軟提出的標准,是應用程序間交換數據、相互操作的一種方式,MS OFFICE 提供了很強的 OLE 服務功能,VB、Delphi 及C++Builder等語言都可以以客戶方式向Excel提交命令,以存取其數據,其中VB和Delphi最為簡單,在語法上就采用類VBA的語句,本報九九年第48期的《在Delphi中操作Excel》一文曾介紹了Delphi的做法。我們原以為C++Builder照搬Delphi,結果語法編譯都未能通過,查不到這方面具體介紹的資料。經反復試驗方知:原來C++Builder采用間接的辦法,利用變體類Variant所提供的四個“方法”向OLE服務程序提交操縱命令:
Variant Variant::OlePropertyGet(屬性名,參數….);
// 取對象屬性
Void Variant::OlePropertySet(屬性名,參數….);
// 設置對象屬性
Variant Variant::OleFunction(函數名,參數….);
// 運行對象的函數
void Variant::OleProcedure(過程名,參數….);
// 運行對象的過程
其頭文件“vcl\utilcls.h”必須嵌在用戶程序中,
對於這四個長長的方法名可在程序中用宏語句重新定義一下:
#define PG OlePropertyGet
#define PS OlePropertySet
#define FN OleFunction
#define PR OleProcedure