APIs de Programacion para API Office.
Informacion adicional con sintaxis en formato as400 (miembros).
*-------------------------------------------------------* * Miembro de Ayuda Operaciones API EXCEL CPI * *-------------------------------------------------------* *--- Orden de Comienzo de API @XL_START DATA('AUTO') DATA2(' ') */ Para crear informes desde AS/400: DATA debe contener 'NOAUTO' y DATA2 un nombre de miembro de interface *--- Orden de Cierre de API @XL_END * *--- Operaciones con constantes * *-- Mueve una constante única @XL_MOVEX ROW('rrr') COL('ccc') DATA(dato) *-- Inicia el movimiento de un grupo de constantes a la derecha *- Debe cerrarse con una operación MOVEX @XL_MOVEXA ROW('rrr') COL('ccc') DATA(datoX) * *--- Operaciones con números * *-- Mueve dato numérico único @XL_MOVEN ROW('rrr') COL('ccc') DATA(datoN) DEC('0') *-- Inicia el movimiento de un grupo de datos numéricos a la *- derecha. Debe cerrarse con una operación MOVEN @XL_MOVENA ROW('rrr') COL('ccc') DATA(datoN) DEC('0') ROW y COL a blancos significa la fila o columna activa o la siguiente columna en el caso de un grupo ROW y COL admiten '+n' que significa la activa más n Si en ROW se indica '*NAME' o '*NAMETX' en COL se pone un nombre de celda * *--- Operaciones varias * *-- Activa una celda con el nombre indicado @XL ACTION('POS') DATA('NomCelda') DATA2(' ') *-- Activa una hoja del documento @XL ACTION('SHEET') DATA('n') DATA2(' ') n es el número de la hoja del documento *-- Inserta una fila antes de la fila de la celda con el nombre *-- que se indica. La fila insertada toma los atributos de la *-- fila anterior a la de la celda con ese nombre @XL ACTION('INSERT') DATA('NomCelda') DATA2(' ') *-- Font @XL ACTION('FONT') DATA(wfont1) DATA2(wfont2) wfont1 tiene una longitud de 14 posiciones siendo: 01-04 Nombre de Font (ARI- o TNR- o MSS- MSSS o ---- para no cambiar) 05-05 - (un guión) 06-07 SizeFont. Admite entre 05 y 50 (00 para no cambiar). Admite también +n y -n para aumentar o disminuir el tamaño. 08-10 Atributos N=Negrita, I=Itálica, S=Subrayado C=Centrar, R=Dcha, L=Izq 11-12 ColorTexto de 00 a 15 ó -- para no cambiar 13-14 ColorFondo de 00 a 15 ó -- para no cambiar 00=Negro 01=Azul 02=Verde 03=Cy 04=Rosa 05=Mag 06=Ama 07=Blan 08=Gris 09=Az+ 10=Ver+ 11=Cy+ 12=Ros+ 13=Mag+ 14=Bl+ wfont2 tiene una longitud de 4 posiciones siendo: 01-02 Columna desde (como 01,04...) 03-04 Columna hasta (07, 09...) si esta a blancos el Font es para la celda activa *-- Borde @XL ACTION('BORDE') DATA(wbord1) DATA2(wbord2) wbord1 tiene una longitud de 5 posiciones siendo: 01-01 - (un guión) 02-03 Color del borde. mismo código de color que Font 04-04 Grosor del Borde. De 1 a 4. 05-05 Estilo. 1=Continuo 2=Rayas 3=Puntos 7=Doble 4=2+3 5=2+3+2 6=Gris 8=Auto wbord2 Columna desde hasta como wfont2. Puede combinarse una orden de BORDE con otra de FONT para el fondo del texto. *-- Borde sin verticales entre el ámbito de celdas @XL ACTION('BORDEA') DATA(wbord1) DATA2(wbord2) wbord1 tiene una longitud de 5 posiciones siendo: 01-01 - (un guión) 02-03 -- (dos guiones) No hay uso de color en BORDEA. 04-04 - (un guión). No hay uso de Grosor. 05-05 Estilo. Solo se usan los códigos 1 y 7. También 2 y 3. Puede combinarse con Font de Fondo. wbord2 Columna desde hasta como wfont2. *-- Emite una Pausa en el PC mostrando el contenido de campo @XL ACTION('PAUSA') DATA(campo) DATA2(' ') *-- Edición en contenido de celdas @XL ACTION('FORMAT') DATA(codedi) DATA2(coldh) codedi es un código de edición en modo Excel, por ejemplo: '#.##0' ó '#.##0.00' (Se permite $ a izqda o dcha) '#.##0_);[Red](#.##0)' (pone negativos en rojo) coldh Columna desde hasta como wfont2 *-- Aumento o Disminución del Tamaño de la columna activa @XL ACTION('SIZECOL') DATA(size) DATA2(coldh) size es un código de edición en modo Excel, por ejemplo: '#.##0' ó '#.##0.00' (Se permite $ a izqda o dcha) '#.##0_);[Red](#.##0)' (pone negativos en rojo) coldh Columna desde hasta como wfont2. Una columna tipo de Excel tiene un tamaño de 12 aproximadamente. Admite +n y -n para Aumentar/Disminuir el tamaño *-- Supresión de la fila que tiene una celda con ese nombre @XL ACTION('DELROW') DATA(Nomcelda) DATA2(' ') *-- Supresión de la columna que tiene una celda con ese nombre @XL ACTION('DELCOL') DATA(Nomcelda) DATA2(' ') *-- Supresión de un TextBox con ese nombre @XL ACTION('DELTX') DATA(Nomcelda) DATA2(' ') *-- Apertura desde 400 @XL ACTION('START') DATA('NOAUTO') DATA2(Mbrinterf) Mbrinter es el miembro de interface *-- Desde el 400 @XL ACTION('Open') DATA(TipoAper) DATA2(Numhoja) TipoAper admite 'VISIBLE', 'MIN', 'HIDE' o ' '. Numhoja admite n, ' ' o '*NEW' *-- Desde el 400 @XL ACTION('Close') DATA('Y/N/?') DATA2(' ') *-- Desde el 400 @XL ACTION('SaveAS') DATA(Path) DATA2(file sin exten) Path admite '*SOURCE', *TARGET, '*PGM', *EXCEL o un path *-- Desde el 400 @XL ACTION('Save') DATA(' ') DATA2(' ') Salva el file abierto *-- Relativo a la impresión *- Alineación @XL ACTION('SETPRINT') DATA(posic) DATA2(' ') posic admite: 'PORT' Vertical o 'LAND' Horiz *- Centrado @XL ACTION('SETPRINT') DATA(centra) DATA2(' ') centra admite 'CenterV' Vertical o 'CenterH' Horizontal *- Creando cabeceras y pies del documento (las 3) @XL ACTION('SETPRINT') DATA(texto) DATA2(cabepie) texto texto de las cabeceras o pies. en este texto se admite controles: I&=Itálica &B=Bold &U=Underline &D=Date &T=Time &F=File &A=TabName &P=Page &N=Pages *PATH=Dir *USER1=EmpreReg *USER2=UsuarReg Ejemplo: 'Página &P de &N' *- Imprimir solo BLACK&WHITE (no grises) @XL ACTION('SETPRINT') DATA('BW') DATA2(' ') *- Activar/Desactivar Impresión de Grid @XL ACTION('SETPRINT') DATA('Grid') DATA2(' ') *- Imprimir la Hoja activa @XL ACTION('PRINT') DATA('Y') DATA2(' ') 'Y'= Sí. Admite también 'N'=No, '?' Pregunta
*-------------------------------------------------------* * Miembro de Ayuda Operaciones API EXCEL CPI * *-------------------------------------------------------* *--- Orden de Comienzo de API * @XL_START */ %XLSTC MOVEL'*START@ 'XL@ACC P ORDEN *STA %XLSTC MOVELXL@MBI XL@ROW P NOMBRE INT %XLSTC EXSR XL@SR1 API Excel *--- Orden de Cierre de API * @XL_END %XLENC MOVEL'*ENDPGM@'XL@ACC P API EXCEL %XLENC EXSR XL@SR1 API EXCEL * *--- Operaciones con constantes * *-- Mueve una constante única * @XL_MOVEX ROW('rrr') COL('ccc') DATA(datoX) %XLX C MOVEL'rrr ' XL@ROW P Row / Fila %XLX C MOVEL'ccc ' XL@COL P Columna / %XLX C MOVE 'X' XL@TIP Dato Alfab %XLX C MOVELdatoX XL@ALF Contenido %XLX C MOVEL'*WRITE 'XL@ACC P celda unic %XLX C EXSR XL@SR1 API Excel *-- Inicia el movimiento de un grupo de constantes a la derecha *- Debe cerrarse con una operación MOVEX @XL_MOVEXA ROW('rrr') COL('ccc') DATA(datoX) %XLXAC MOVELrrr XL@ROW P Row / Fila %XLXAC MOVELccc XL@COL P Columna / %XLXAC MOVE 'X' XL@TIP Dato Alfab %XLXAC MOVELdatoX XL@ALF Contenido %XLXAC MOVEL'*ADD 'XL@ACC P celda de g %XLXAC EXSR XL@SR1 API Excel * *--- Operaciones con números * *-- Mueve dato numérico único @XL_MOVEN ROW('rrr') COL('ccc') DATA(datoN) DEC('0') Para rrr=*BLANKS %XLN C MOVELrrr XL@ROW P Row / Fila %XLN C MOVELccc XL@COL P Columna / %XLN C MOVE '0' XL@TIP Num Decima %XLN C Z-ADDdatoN XL@NUM Contenido %XLN C MOVEL'*WRITE 'XL@ACC P celda unic %XLN C EXSR XL@SR1 API Excel *-- Inicia el movimiento de un grupo de datos numéricos a la *- derecha. Debe cerrarse con una operación MOVEN * @XL_MOVENA ROW('rrr') COL('ccc') DATA(datoN) DEC('0') %XLNAC MOVELrrr XL@ROW P Row / Fila %XLNAC MOVELccc XL@COL P Columna / %XLNAC MOVE '0' XL@TIP Num Decima %XLNAC Z-ADDdatoN XL@NUM Contenido %XLNAC MOVEL'*ADD 'XL@ACC P celda unic %XLNAC EXSR XL@SR1 API Excel ROW y COL a blancos significa la fila o columna activa o la siguiente columna en el caso de un grupo ROW y COL admiten '+n' que significa la activa más n Si en ROW se indica '*NAME' o '*NAMETX' en COL se pone un nombre de celda * *--- Operaciones varias * *-- Activa una celda con el nombre indicado * @XL ACTION('POS') DATA('NomCelda') DATA2(' ') %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'POS' XL@COL P Accion Ord %XL C MOVELNomCelda XL@ALF P Contenido %XL C MOVEL' ' XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel *-- Activa una hoja del documento * @XL ACTION('SHEET') DATA('n') DATA2(' ') n es el número de la hoja del documento %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'SHEET' XL@COL P Accion Ord %XL C MOVEL'n' XL@ALF P Contenido %XL C MOVEL' ' XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel *-- Inserta una fila antes de la fila de la celda con el nombre *-- que se indica. La fila insertada toma los atributos de la *-- fila anterior a la de la celda con ese nombre * @XL ACTION('INSERT') DATA('NomCelda') DATA2(' ') %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'INSERT' XL@COL P Accion Ord %XL C MOVELNomCelda XL@ALF P Contenido %XL C MOVEL' ' XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel *-- Font * @XL ACTION('FONT') DATA(wfont1) DATA2(wfont2) %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'FONT' XL@COL P Accion Ord %XL C MOVELWFONT1 XL@ALF P Contenido %XL C MOVELwfont2 XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel wfont1 tiene una longitud de 14 posiciones siendo: 01-04 Nombre de Font (ARI- o TNR- o MSS- MSSS o ---- para no cambiar) 05-05 - (un guión) 06-07 SizeFont. Admite entre 05 y 50 (00 para no cambiar). Admite también +n y -n para aumentar o disminuir el tamaño. 08-10 Atributos N=Negrita, I=Itálica, S=Subrayado C=Centrar, R=Dcha, L=Izq 11-12 ColorTexto de 00 a 15 ó -- para no cambiar 13-14 ColorFondo de 00 a 15 ó -- para no cambiar 00=Negro 01=Azul 02=Verde 03=Cy 04=Rosa 05=Mag 06=Ama 07=Blan 08=Gris 09=Az+ 10=Ver+ 11=Cy+ 12=Ros+ 13=Mag+ 14=Bl+ wfont2 tiene una longitud de 4 posiciones siendo: 01-02 Columna desde (como 01,04...) 03-04 Columna hasta (07, 09...) si esta a blancos el Font es para la celda activa *-- Borde * @XL ACTION('BORDE') DATA(wbord1) DATA2(wbord2) %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'BORDE ' XL@COL P Accion Ord %XL C MOVELwbord1 XL@ALF P Contenido %XL C MOVELwbord2 XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel wbord1 tiene una longitud de 5 posiciones siendo: 01-01 - (un guión) 02-03 Color del borde. mismo código de color que Font 04-04 Grosor del Borde. De 1 a 4. 05-05 Estilo. 1=Continuo 2=Rayas 3=Puntos 7=Doble 4=2+3 5=2+3+2 6=Gris 8=Auto wbord2 Columna desde hasta como wfont2. Puede combinarse una orden de BORDE con otra de FONT para el fondo del texto. *-- Borde sin verticales entre el ámbito de celdas * @XL ACTION('BORDEA') DATA(wbord1) DATA2(wbord2) wbord1 tiene una longitud de 5 posiciones siendo: 01-01 - (un guión) 02-03 -- (dos guiones) No hay uso de color en BORDEA. 04-04 - (un guión). No hay uso de Grosor. 05-05 Estilo. Solo se usan los códigos 1 y 7. También 2 y 3. Puede combinarse con Font de Fondo. wbord2 Columna desde hasta como wfont2. %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'BORDEA' XL@COL P Accion Ord %XL C MOVELwbord1' XL@ALF P Contenido %XL C MOVELwbord2 XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel *-- Emite una Pausa en el PC mostrando el contenido de campo * @XL ACTION('PAUSA') DATA(campo) DATA2(' ') %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'PAUSA' XL@COL P Accion Ord %XL C MOVELCAMPO XL@ALF P Contenido %XL C MOVEL' ' XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel *-- Edición en contenido de celdas * @XL ACTION('FORMAT') DATA(codedi) DATA2(coldh) %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'FORMAT' XL@COL P Accion Ord %XL C MOVELcodedi XL@ALF P Contenido %XL C MOVELcoldh XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel codedi es un código de edición en modo Excel, por ejemplo: '#.##0' ó '#.##0.00' (Se permite $ a izqda o dcha) '#.##0_);[Red](#.##0)' (pone negativos en rojo) coldh Columna desde hasta como wfont2 *-- Aumento o Disminución del Tamaño de la columna activa * @XL ACTION('SIZECOL') DATA(size) DATA2(coldh) size es un código de edición en modo Excel, por ejemplo: '#.##0' ó '#.##0.00' (Se permite $ a izqda o dcha) '#.##0_);[Red](#.##0)' (pone negativos en rojo) coldh Columna desde hasta como wfont2. Una columna tipo de Excel tiene un tamaño de 12 aproximadamente. Admite +n y -n para Aumentar/Disminuir el tamaño %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'SIZECOL' XL@COL P Accion Ord %XL C MOVELsize XL@ALF P Contenido %XL C MOVELcoldh XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel *-- Supresión de la fila que tiene una celda con ese nombre * @XL ACTION('DELROW') DATA(Nomcelda) DATA2(' ') *-- Supresión de la columna que tiene una celda con ese nombre * @XL ACTION('DELCOL') DATA(Nomcelda) DATA2(' ') *-- Supresión de un TextBox con ese nombre * @XL ACTION('DELTX') DATA(Nomcelda) DATA2(' ') *-- Relativo a la impresión *- Alineación * @XL ACTION('SETPRINT') DATA(posic) DATA2(' ') posic admite: 'PORT' Vertical o 'LAND' Horiz %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'SETPRINT'XL@COL P Accion Ord %XL C MOVELposic XL@ALF P Contenido %XL C MOVEL' ' XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel *- Centrado * @XL ACTION('SETPRINT') DATA(centra) DATA2(' ') centra admite 'CenterV' Vertical o 'CenterH' Horizontal %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'SETPRINT'XL@COL P Accion Ord %XL C MOVELcentra XL@ALF P Contenido %XL C MOVEL' ' XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel *- Creando cabeceras y pies del documento (las 3) * @XL ACTION('SETPRINT') DATA(texto) DATA2(cabepie) texto texto de las cabeceras o pies. en este texto se admite controles: I&=Itálica &B=Bold &U=Underline &D=Date &T=Time &F=File &A=TabName &P=Page &N=Pages *PATH=Dir *USER1=EmpreReg *USER2=UsuarReg Ejemplo: 'Página &P de &N' %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'SETPRINT'XL@COL P Accion Ord %XL C MOVELtexto XL@ALF P Contenido %XL C MOVELcabepie XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel *- Imprimir solo BLACK&WHITE (no grises) * @XL ACTION('SETPRINT') DATA('BW') DATA2(' ') *- Activar/Desactivar Impresión de Grid * @XL ACTION('SETPRINT') DATA('Grid') DATA2(' ') %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'SETPRINT'XL@COL P Accion Ord %XL C MOVEL'GRID' XL@ALF P Contenido %XL C MOVEL'N' XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel *- Imprimir la Hoja activa @XL ACTION('PRINT') DATA('Y') DATA2(' ') 'Y'= Sí. Admite también 'N'=No, '?' Pregunta %XL C MOVEL'*ACTION' XL@ACC P Accion %XL C MOVEL'PRINT' XL@COL P Accion Ord %XL C MOVEL'Y' XL@ALF P Contenido %XL C MOVEL' ' XL@ROW P Contenido %XL C EXSR XL@SR1 API Excel