2010-11-27 46 views
1

爲什麼下面的代碼返回無效的參數錯誤?它在Delphi中的等價性執行得很好。ExportAsFixedFormat

C++ Builder中:

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

德爾福:

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

回答

-1

添加另一個EmptyParam這樣。該函數有9個參數,所以當你使用OleProcedure調用它時,你會發送10個參數(因爲第一個參數是函數名)。您只發送9.

+0

一切都是正確的那裏的參數數量。 – Dmytro 2010-12-03 21:14:56

0

在C++中(至少在VC中)參數順序必須顛倒。嘗試:

ActiveWorkSheet.OleProcedure( 「ExportAsFixedFormat」,EmptyParam這樣, EmptyParam這樣,EmptyParam這樣,EmptyParam這樣,EmptyParam這樣,EmptyParam這樣,EmptyParam這樣, EmptyParam這樣,0);

希望這會有所幫助

相關問題