RAD Studio XE2 打开Execl 错误?
调用
Ex.OlePropertyGet("WorkBooks").OleProcedure("Open",ExcelFileName.c_str());
发生错误,提示文件无法打开,提示的文件名是我ExeclFileName中的名字,但没有我后添加的"\\info.xls";
或者就是与\\info.xls"不符合;
后来改成 AnsiString ExcelFileName = GetCurrentDir()+L"\\info.xls";或 AnsiString ExcelFileName = GetCurrentDir()+U"\\info.xls";
但还是错误,或者就报无法访问 "win32"
急求原因!!!!!!!!!!!!!!
此代码bcb6下可以使用
代码:
AnsiString ExcelFileName = GetCurrentDir()+"\\info.xls";
if(!FileExists(ExcelFileName))
{
Application->MessageBox("报表模板文件不存在,无法打开!","错误",MB_ICONSTOP|MB_OK);
return;
}
try
{
Ex = Variant::CreateObject("Excel.Application");
}
catch(...)
{
Application->MessageBox("无法启动Excel","错误",MB_ICONSTOP|MB_OK);
return;
}
Ex.OlePropertySet("Visible",false);
Ex.OlePropertyGet("WorkBooks").OleProcedure("Open",ExcelFileName.c_str());
Wb = Ex.OlePropertyGet("ActiveWorkBook");
Sheet = Wb.OlePropertyGet("ActiveSheet");//获得当前默认的Sheet
row = Sheet.OlePropertyGet("UsedRange").OlePropertyGet("Rows").OlePropertyGet("Count");
[解决办法]
改成这样:
WideString ExcelFileName = GetCurrentDir() + WideString("\\info.xls");
...
Ex.OlePropertyGet("WorkBooks").OleProcedure("Open", ExcelFileName);
...