Ver Mensaje Individual
  #6
Antiguo 3 de marzo de 2016, 19:25
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

Josber,

Usando a ligação ao Excel por COM/OLE2 penso que é possível.

Eu tenho algum código em que utilizo o "Range" para formatar a folha de Excel:
Na Working:

Código COBOL:
  1.        WORKING-STORAGE SECTION.
  2.        01  EXCEL              OBJECT REFERENCE OLE.
  3.        01  WORKBOOK           OBJECT REFERENCE OLE.
  4.        01  SHEETS             OBJECT REFERENCE OLE.
  5.        01  WORKSHEET          OBJECT REFERENCE OLE.
  6.        01  CELL               OBJECT REFERENCE OLE.
  7.        01  COLUMNS            OBJECT REFERENCE OLE.
  8.        01  WCOLUMN            OBJECT REFERENCE OLE.
  9.        01  OBJRANGE           OBJECT REFERENCE OLE.
  10.        01  FITRANGE           OBJECT REFERENCE OLE.
  11. *******
  12.        01 ARRAYOBJ OBJECT REFERENCE COM-ARRAY.
  13.        01 LONG-INT-TYPE           PIC S9(9) COMP-5 VALUE 12.
  14.        01 ARRAY-DIMENSION         PIC S9(9) COMP-5 VALUE 2.
  15.        01 AXIS-1                  PIC S9(9) COMP-5 VALUE 22.
  16.        01 AXIS-2                  PIC S9(9) COMP-5 VALUE 22.
  17.        01  APPLICATION                    PIC X(20) VALUE "EXCEL.APPLICATION".
  18.        01  OLE-TRUE                       PIC 1(1)  BIT VALUE B"1".
  19.        01  FILLER                         PIC 1(7)  BIT.        
  20.        01  OLE-FALSE                      PIC 1(1)  BIT VALUE B"0".
  21.        01  FILLER                         PIC 1(7)  BIT.        
Na PROCEDURE:

Código COBOL:
  1.            INVOKE OLE "CREATE-OBJECT" USING APPLICATION RETURNING EXCEL.
  2.            INVOKE EXCEL "GET-WORKBOOKS" RETURNING WORKBOOK.
  3.            INVOKE WORKBOOK "ADD"                 RETURNING WORKBOOK.
  4.            INVOKE WORKBOOK "GET-WORKSHEETS" RETURNING SHEETS.
  5.            INVOKE SHEETS   "GET-ITEM" USING S-INDEX   RETURNING WORKSHEET.

Código COBOL:
  1.            INVOKE WORKSHEET "GET-RANGE" USING INIRANGE RETURNING OBJRANGE.
  2.            INVOKE OBJRANGE "SET-VALUE" USING ARRAYOBJ.
  3. *******
  4. ************ CALCULAR O RANGE DE CADA COLUNA PARA FORMATAR CAMPO
  5.  
  6. ************ UTILIZANDO O RANGE DAS COLUNAS/LINHAS UTILIZADAS
  7. ************  VAI FAZER O AUTOFIT (ALARGAR AS COLUNAS)
  8. *******
  9.              INVOKE WORKSHEET   "GET-USEDRANGE"       RETURNING OBJRANGE.
  10.              INVOKE OBJRANGE "GET-ENTIRECOLUMN" RETURNING FITRANGE.
  11.              INVOKE FITRANGE "AUTOFIT".

Se puderes utilizar COM/OLE2 pode ser que se consiga fazer o que pretendes.

Un saludo,
Rui Pinto
Rapinto is offline   Responder Con Cita