Hola
@Xavier, proba con estas lineas .... que te opinas
@Kuk,
Código COBOL:
CLASS OLE AS "*OLE"
CLASS OLE-ARRAY AS "*OLE-ARRAY"
Código COBOL:
WORKING-STORAGE SECTION.
01 OServManager pic x(27) value "com.sun.star.ServiceManager".
01 OServDesktop pic x(26) value "com.sun.star.frame.Desktop".
01 ServManager object reference OLE.
01 StarDesktop object reference OLE.
01 aDoc object reference OLE.
01 atext object reference OLE.
01 Group1SafeArray object reference OLE-ARRAY.
01 VARIANT-TYPE PIC S9(9) COMP-5 VALUE 23.
01 LONG-INT-TYPE PIC S9(9) COMP-5 VALUE 3.
01 ARRAY-DIMENSION PIC S9(9) COMP-5 VALUE 1.
01 AXIS-1 PIC S9(9) COMP-5 VALUE 3.
01 celements PIC S9(9) COMP-5 VALUE 1.
01 llbound PIC S9(9) COMP-5 VALUE 0.
01 Valor-1 PIC X(23) value "private:factory/swriter".
01 Valor-2 PIC X(10) value "_blank".
01 Valor-3 PIC X(1) value "0".
01 Texto-Pas PIC X(10).
*
01 tagSafeArrayBound is typedef.
05 celements pic s9(9) comp-5.
05 llbound pic s9(9) comp-5.
01 SafeArrayBound TYPE tagSafeArrayBound.
Código COBOL:
invoke OLE "CREATE-OBJECT" using OServManager returning ServManager.
invoke ServManager "createInstance" using OServDesktop returning StarDesktop.
MOVE 0 TO celements OF SafeArrayBound.
MOVE 0 TO llbound OF SafeArrayBound.
invoke OLE-ARRAY "NEW" using
by reference VARIANT-TYPE
by reference ARRAY-DIMENSION
by reference SafeArrayBound
returning Group1SafeArray.
invoke StarDesktop "loadComponentFromURL" using
by reference Valor-1
by reference Valor-2
by reference valor-3
by reference Group1SafeArray
returning aDoc.
invoke aDoc "GET-Text" returning aText.
move "Hola Powercobol" to Texto-Pas .
invoke aText "SET-String" using Texto-Pas.
Saludos ,,,,