首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

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

2013-12-21 
BCB2007打开XLS提示不正确的变量类型工作需要,对XLS文件里许多内容处理,手工太慢,想用这个,结果装载文件这

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);

...

热点排行