操作excel的问题

orcher 2003-08-23 11:13:51
为什么我的程序总是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");
}
}
...全文
28 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2003-08-23
  • 打赏
  • 举报
回复
你是按那里作的吗?
http://www.yesky.com/20030213/1651912.shtml
很奇的
1 一定要全路径名:
AnsiString ExcelFileName = GetCurrentDir()+"\\Book1.xls";
2 一定要传char *型:
Ex.PG("WorkBooks").PR("Open",ExcelFileName.c_str());
我这样就行
orcher 2003-08-23
  • 打赏
  • 举报
回复
谢谢

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧