Skip to main content

Excel Signature

  • September 22, 2023
  • 1 reply
  • 0 views

Norbert Lauterbach
Forum|alt.badge.img+3

Hello all,

does anyone has a working signature for the EXCEL WORKBOOK->SAVEAS function?

I tryed to reduce to only 2 Params, filename (string) and fileformat (numeric) but allways get the following error :

   S:0 P:0 F:OEXCEL / _ALIAS00000002 E: F: --> (); SHEET_SAVEAS; 2; [0];  $WORKBOOK$->SAVEAS(P_FILENAME,"51")
   ICCDRV-COM-ERR Error with ICC system occurred, COM method has conflicting or illegal signature in its type library: Illegal optional argument placement
   S:-1 P:-56 F:OEXCEL / _ALIAS00000002 E: F: --> (); SHEET_SAVEAS; 3; [-56]; if ($status != 0)

Kind regards

Norbert



------------------------------
Norbert Lauterbach
Infraserv Gmbh & Co. Höchst Kg
Frankfurt DE
------------------------------

1 reply

Norbert Lauterbach
Forum|alt.badge.img+3
  • Author
  • Participating Frequently
  • September 22, 2023

Hello all,

does anyone has a working signature for the EXCEL WORKBOOK->SAVEAS function?

I tryed to reduce to only 2 Params, filename (string) and fileformat (numeric) but allways get the following error :

   S:0 P:0 F:OEXCEL / _ALIAS00000002 E: F: --> (); SHEET_SAVEAS; 2; [0];  $WORKBOOK$->SAVEAS(P_FILENAME,"51")
   ICCDRV-COM-ERR Error with ICC system occurred, COM method has conflicting or illegal signature in its type library: Illegal optional argument placement
   S:-1 P:-56 F:OEXCEL / _ALIAS00000002 E: F: --> (); SHEET_SAVEAS; 3; [-56]; if ($status != 0)

Kind regards

Norbert



------------------------------
Norbert Lauterbach
Infraserv Gmbh & Co. Höchst Kg
Frankfurt DE
------------------------------

Hello all,
I found the Solution for the  Problem.
The property "WORKIDENTITY" seems to be very new. 
It is not even mentioned at the Documentation : https://learn.microsoft.com/en-us/office/vba/api/excel.workbook.saveas#parameters

So my old Signature for saveas has 11 Parameters, whereas the newly generated signature has 13 Parameters!!!
Also they are all Optional, in this case it is not possible to delete them.
You have to call saveas with all 13 Parameters.

You can use "UT_OPTIONAL" or - if you don't have a value for them.

In the Uniface Documentation you can read :
  Passing Optional Parameters
  It is possible to mark a parameter of a COM Call-Out operation as optional by specifying a hyphen (-) or the string "UT_OPTIONAL". For example:

  hHandle -> FIND (RESULT_, "WHAT", "UT_OPTIONAL", -, -, -, -, -, -, -)
  
 But why is "-" generating an "warning:   1000 - Argument marked as optional.", whereas "UT_OPTIONAL" is not?
 
 Kind regards
 Norbert
 



------------------------------
Norbert Lauterbach
Infraserv Gmbh & Co. Höchst Kg
Frankfurt DE
------------------------------