RAD Studio10+ 操作office 注意事项

OLE(对象链接与嵌入)是微软提出的标准,是应用程序间交换数据、相互操作的一种方式,MS OFFICE 提供了很强的 OLE 服务功能,Delphi 及C++Builder等语言都可以以客户方式向Excel提交命令,以存取其数据,其中Delphi最为简单。C++Builder采用间接的办法,利用变体类Variant所提供的四个“方法”向OLE服务程序提交操纵命令:

Variant  Variant::OlePropertyGet(属性名,参数….);  // 取对象属性
Void     Variant::OlePropertySet(属性名,参数….);  // 设置对象属性
Variant  Variant::OleFunction(函数名,参数….);    // 运行对象的函数
void     Variant::OleProcedure(过程名,参数….);   // 运行对象的过程
对于这四个长长的方法名可在程序中用宏语句重新定义一下:
#define   PG   OlePropertyGet
#define   PS   OlePropertySet
#define   FN   OleFunction
#define   PR   OleProcedure

例子:
Variant t1=Ex.PG(“ActiveWorkBook”);
Variant t2=t1.PG(“ActiveSheet”);
Variant t3=t2.PG(“Cells,1,2);
t3.PS(“Value”,3);
可去掉中间变量将这四句合为一句,就是:
Ex.PG(“ActiveWorkBook”).PG(“ActiveSheet”).PG(“Cells”,1,2).PS(“Value”,3);

改sheet名:

vSheet.PS(“Name”, NewName);//注意 这里NewName为WideString 类型

同样,WorkBook另存为的文件名也应为WideString 类型,否则报“类型变量不正确”

WorkBook.FN(“SaveAs”, ExcelFileName);//注意:这里ExcelFileName为WideString 类型

本文为原创文章,转载请注明出处!