操作excel的问题
为什么我的程序总是Ex.PG("WorkBooks").PR("Open",ExcelFileName);这句花出现问题?谢谢
windows 2000,bcb6,officeXP
#define PG OlePropertyGet
#define PS OlePropertySet
#define FN OleFunction
#define PR OleProcedure
....
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try
{
AnsiString ExcelFileName ="Book1.xls";
if(!FileExists(ExcelFileName))
{
Application->MessageBox("Excel表文件不存在,无法打开!",
"错误",MB_ICONSTOP|MB_OK);
return;
}
try
{
Ex = Variant::CreateObject("Excel.Application");
}
catch(...)
{
Application->MessageBox("无法启动Excel","错误",MB_ICONSTOP|MB_OK);
return;
}
//使Excel可见
// Ex.OlePropertySet("Visible",true);
//打开Excel表格文件Book1.xls
Ex.PG("WorkBooks").PR("Open",ExcelFileName);
ShowMessage("step1");
// Ex.OlePropertyGet("WorkBooks").OleProcedure("Open",ExcelFileName.c_str());
Wb=Ex.PG("ActiveWorkBook");
Sh1=Wb.PG("ActiveSheet");
ShowMessage(Sh1.PG("Cells",4,4).PG("Value"));
for (int i=1;i<=10;i++)
for (int j=1;j<=10;j++)
Sh1.PG("Cells",i,j).PS("Value",i*100+j);
Wb.PR("Save");
Wb.PR("Close");
}
catch(...)
{
Application->MessageBox("操作Excel表格错误!","错误",MB_ICONSTOP|MB_OK);
Ex.OleFunction("Quit");
}
}