ExportAsFixedFormat

时间:2010-11-27 18:51:54

标签: delphi excel excel-2007 c++builder ole

为什么以下代码返回无效参数错误?它在Delphi中的等效执行良好。

C ++ Builder:

ActiveWorkSheet.OleProcedure("ExportAsFixedFormat", 0, EmptyParam,
        EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
        EmptyParam);

的Delphi:

  oSheet.ExportAsFixedFormat(0, // xlTypePDF is constant 0
    EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
    EmptyParam, // set to True to open Acrobat
    EmptyParam);

2 个答案:

答案 0 :(得分:0)

在C ++中(至少在VC中)必须颠倒参数顺序。试试这个:

ActiveWorkSheet.OleProcedure(“ExportAsFixedFormat”,EmptyParam,         EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,         EmptyParam,0);

希望这会有所帮助

答案 1 :(得分:-1)

添加另一个EmptyParam。该函数有9个参数,所以当你使用OleProcedure调用它时,你会发送10个参数(因为第一个参数是函数名)。你只发送9。