读书人

BCB2007打开XLS揭示不正确的变量类型

发布时间: 2013-12-21 20:16:01 作者: rapoo

BCB2007打开XLS提示不正确的变量类型
工作需要,对XLS文件里许多内容处理,手工太慢,想用这个,结果装载文件这一步就挂了……
-----------------------------------------
Variant Excel,Workbooks,Workbook;
Variant Worksheets,Worksheet, Range, Cell, FColumns, Format, Item;
bool bIsCreated;
-----------------------------------------------

AnsiString xls_file_path;
init_excel_obj();//

// 若先前尚未建立 Excel 物件, 则建立之.
if (!bIsCreated)
{
// 建立一个可见的 Excel 物件
Excel=Variant::CreateObject("Excel.Application");
Excel.OlePropertySet("Visible", false);
}

xls_file_path=ExtractFilePath(Application->ExeName)+"xx.xls";
//ShowMessage(xls_file_path);
// 开启某个已存在的 workbooks 跟 workbook.
Workbooks=Excel.OlePropertyGet("Workbooks");
//Workbook=Workbooks.OleFunction("Open", "d:\test1.xls");

Workbook=Workbooks.OleFunction("open", xls_file_path);

//Excel.OlePropertyGet("workbooks").OleFunction("Open", xls_file_path);


// 将该Excel 档的 Worksheets 设给变数 Worksheets.
Worksheets=Workbook.OlePropertyGet("Worksheets");
[解决办法]
百毒一下,你就被骗。

Variant vExcel = Variant::CreateObject("Excel.Application");
vExcel.OlePropertySet("Visible", false);

AnsiString xls_file_path = ExtractFilePath(Application->ExeName) + "xx.xls";
if (!FileExists(xls_file_path))
{
ShowMessage("文件根本不存在");
return;
}

Excel.OlePropertyGet("Workbooks")
.OleFunction("Open", WideString(xls_file_path));

Variant vSheet = vExcelApp.OlePropertyGet("ActiveWorkbook")
.OlePropertyGet("Sheets", 1);

...

读书人网 >C++ Builder

热点推荐