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

关于BCB 6.0 操作EXCEL失误

2013-01-05 
关于BCB 6.0 操作EXCEL出错问题描述:我使用下面的代码进行打开EXECL,并链接上一个工作薄,在我的机器上运行

关于BCB 6.0 操作EXCEL出错
问题描述:
我使用下面的代码进行打开EXECL,并链接上一个工作薄,在我的机器上运行是正常的,但是放到没有安装BCB6.0的机器上就报错:
'this->get_Item(Index,(LPDISPATCH*)&RHS)':参数不正确。@d:\program files\bcb6\borland\cbuilder6\include\vcl\Excel_2k.h/9908 Press[Y]es to terminate,[N]o to contine and [C]ancel to Debug.

注:编译成程序前,我对程序的属性(Project->Options) Compile 页面进行了Release;Packages勾掉了Busild with runtime packages选项;Linker页面的Linking属性只选中了 Don't generate state files这个选项,其他的都勾掉了。
程序代码:


    try
    {
        ExcelApplication1->Connect();
    }
    catch(...)
    {
        ShowMessage("Excel Not Availabe!");
        return;
    }

    ExcelApplication1->set_Caption((WideString)"TEST");
    ExcelApplication1->set_Visible(0,true);

    ExcelWorkbook1->ConnectTo(ExcelApplication1->Workbooks->Add(TNoParam(),0));
    ExcelWorksheet1->ConnectTo(ExcelWorkbook1->Worksheets->get_Item(TVariant("Sheet1")));//貌似就是这里报错了

程序使用的头文件

#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>

#include <OleServer.hpp>
#include <ExtCtrls.hpp>
#include <ComCtrls.hpp>
#include "Excel_2K_SRVR.h"


ps:分不多,仅在此感谢各位的帮助~
[解决办法]
我认为这个必须要装excel的
这些只是封装了ole对excel的操作,没有装excel,是无发执行操作的。
[解决办法]
将代码屏蔽一部分,在另外的机器上运行到
ExcelWorkbook1->ConnectTo(ExcelApplication1->Workbooks->Add(TNoParam(),0));

这一句执行以后,看看打开的Excel中新添加的表名是什么?

热点排行