Ver Mensaje Individual
  #10
Antiguo 20 de enero de 2025, 21:34
orlando
Forero Junior
Última Actividad 29.01.2025 23:57
Posts Posts: 42
Likes enviados Enviados: 24
Likes recibidos Recibidos: 2

cordial saludo

para el caso de paint ya ensaye con invoke...mspaint no funciona

genera error de invalid calling of the method---
...aclaro para WIN 10 SI FUNCIONA
PARA WIN 11 NO ..
envio texto
Código COBOL:
  1. *****modulo creacion*****
  2.  
  3. ENVIRONMENT     DIVISION.
  4.  DATA            DIVISION.
  5.  WORKING-STORAGE SECTION.
  6. *estaba 01 RUTA PIC X(300) VALUE "C:\Windows\System32\MSPAINT.EXE D:\odog\0000000000000000000000001.bmp".
  7. * 01 RUTA1 PIC X(300) VALUE "C:\WINDOWS\SYSTEM32\COMMAND.COM /C  DEL D:\A-B-M\PRUEBA.TXT".
  8.  PROCEDURE      DIVISION.
  9. *estaba       INVOKE POW-SELF "EXECUTE" USING RUTA.
  10.  INICIO.
  11.        INVOKE POW-SELF "EXECUTE" USING
  12.               "start mspaint.exe D:\odog\0000000000000000000000001.bmp"
  13.        INVOKE CMCOMMAND6 "SETFOCUS".
  14.  ..
  15.  
  16. ...................................................
  17.  
  18. ******modulo consulta*****
  19.  ENVIRONMENT     DIVISION.
  20.  DATA            DIVISION.
  21.  WORKING-STORAGE SECTION.
  22.  01 COMPLETA GLOBAL EXTERNAL.
  23.     02 CON-Z        PIC 99.
  24.     02 C-Z          PIC 9(12).
  25.     02 NOM-Z        PIC X(40).
  26.     02 CON-OZ       PIC 99.
  27.     02 IF-OZ        PIC 9.
  28.     02 ANO          PIC 9999.
  29.     02 MESO         PIC 99.
  30.     02 DIAO         PIC 99.
  31.  01 SW99 GLOBAL EXTERNAL.
  32.     02 SWNN         PIC 9.  
  33.  01 RUTABUSCA.
  34. *estaba    02 FILLER       PIC X(40)  VALUE "C:\Windows\System32\MSPAINT.EXE D:\odog".
  35.     02 COD-P-N         PIC 9(12).
  36.     02 CONSECUTIVO-N   PIC 99.
  37.     02 CONSE-ON        PIC 99.
  38.     02 IF-ON           PIC 9.
  39.     02 ANO-ON          PIC 9999.
  40.     02 MES-ON          PIC 99.
  41.     02 DIA-ON          PIC 99.
  42.     02 FILLER          PIC X  VALUE ".".
  43.     02 FILLER          PIC XXX VALUE "bmp".
  44. * 01 RUTA1 PIC X(300) VALUE "C:\WINDOWS\SYSTEM32\COMMAND.COM /C  DEL D:\A-B-M\PRUEBA.TXT".
  45.  PROCEDURE      DIVISION.
  46.       IF SWNN = 0
  47.          MOVE ZEROS TO  COD-P-N  CONSECUTIVO-N  CONSE-ON IF-ON
  48.                              ANO-ON MES-ON  DIA-ON
  49.         MOVE C-Z TO COD-P-N
  50.         MOVE CON-Z TO CONSECUTIVO-N
  51.         MOVE CON-OZ TO CONSE-ON
  52.         MOVE IF-OZ TO IF-ON
  53.         MOVE ANO TO ANO-ON
  54.         MOVE MESO TO MES-ON
  55.         MOVE DIAO TO DIA-ON
  56. *estaba                INVOKE POW-SELF "EXECUTE" USING RUTABUSCA.
  57.         INVOKE POW-SELF "EXECUTE" USING "start mspaint.exe D:\odog\RUTABUSCA"
  58.                MOVE 1 TO SWNN
  59.                IF SWNN = 1
  60.                 INVOKE CMCOMMAND6  "SETFOCUS".

ACLARO * estaba era win 10 win 11 ....No funciona


para el caso de paint el rundll32.....no he probado....

ahora bien

para el caso EXCEL...ENVIO TEXTO ...COMO FUNCIONA WIN 10...
Podrias ayudarme para win 11...

envio texto

Código COBOL:
  1. ENVIRONMENT DIVISION.
  2.  INPUT-OUTPUT SECTION.
  3.  FILE-CONTROL.
  4.      SELECT LEXCEL
  5.      ASSIGN TO "D:\EXCEL1\LPACIENTES.XLS"
  6.      ORGANIZATION IS LINE SEQUENTIAL.
  7.  DATA DIVISION.
  8.  FILE SECTION.
  9.   FD LEXCEL
  10.      LABEL RECORD IS STANDARD.
  11.  01 REC-LEXCEL PIC X(700).
  12.  WORKING-STORAGE SECTION.
  13.  01 EXCEL OBJECT REFERENCE COM IS GLOBAL.
  14.  01 WORKBOOK OBJECT REFERENCE COM IS GLOBAL.
  15.  01 COM-TRUE PIC 1(1) BIT VALUE B"1" IS GLOBAL.
  16.  01 APPLICATION PIC X(20) VALUE "EXCEL.APPLICATION" IS GLOBAL.
  17.  01 EXCEL_FILE PIC X(35) VALUE "D:\EXCEL1\LPACIENTES.XLS".
  18.  01     FECHA.
  19.     02   DIA          PIC 99.
  20.     02   FILLER       PIC X VALUE "/".
  21.     02   MES          PIC 99.
  22.     02   FILLER       PIC X VALUE "/".
  23.     02   ANO          PIC 9999.
  24.  01    FECHAD.
  25.     02 ANOD           PIC 99.
  26.     02 MESD           PIC 99.
  27.     02 DIAD           PIC 99.
  28.  
  29.  01     ANODD        PIC 9999 VALUE ZEROS.
  30.  01     ERRORA       PIC 9.
  31.  01     FALLO        PIC 9.
  32. * 01 FECHA.
  33. *    02 DIA PIC 99.
  34. *    02 FILLER PIC X VALUE "/".
  35. *    02 MES PIC 99.
  36. *    02 FILLER PIC X VALUE "/".
  37. *    02 FILLER PIC XX VALUE "20".
  38. *    02 ANO PIC 99.
  39.  01 FIN-A PIC 9.
  40.  01 FIN-AA PIC 9.  
  41.  01 FEC.
  42.     02 AA PIC 99.
  43.     02 MM PIC 99.
  44.     02 DD PIC 99.    
  45.  01 L0.
  46.     02 PIC X(85) VALUE
  47.       "<HTLM><HEAD><TITLE>ABONOS  DEL MES DE SEP.2018</TITLE></HEAD>".
  48.  01 L-1.
  49.     02 PIC X(6) VALUE "<BODY>".
  50.     02 PIC X(15) VALUE "<TR><TH><B> ".
  51.     02 L1-CIA PIC X(60) VALUE
  52.        "CONSULTORIO ODONTOLOGICO ".
  53.     02 PIC X(6) VALUE "<\B>".
  54.  01 L-11.
  55.     02 PIC X(15) VALUE "<TR><TH>".
  56.     02 PIC X(55) VALUE
  57.         "LISTA DE PACIENTES :".
  58.     02 FECHA-II PIC X(10).          
  59.  01 L-30.
  60.     02 PIC X(7) VALUE "<TABLE>".
  61.  01 L-2.
  62.     02 PIC X(4) VALUE "<BR>".
  63.     02 L2-CIA PIC X(112) VALUE SPACES.
  64.     02 L3-MES PIC X(10).
  65.     02 L3-RMES REDEFINES L3-MES.
  66.      03 L3-DMES PIC BXXX.
  67.      03 L3-LET PIC XXX.
  68.      03 L3-HMES PIC XXX.
  69.     02 L3-ANO PIC Z9999.
  70.  01 GRUPO.
  71.    02 G1 PIC 999.
  72.    02 G2 PIC X(17).  
  73.  01 L-3.
  74.     02 PIC X(4) VALUE "<BR>".
  75.     02 L3-CIA PIC X(32).
  76.     02 PIC X(7) VALUE " ".
  77.     02 L2-RFC PIC X(15) VALUE SPACES.
  78.  01 LLL.
  79.     02 PIC X(7) VALUE "<BR><U>".
  80.     02 L-0 PIC X(163) VALUE SPACES.
  81.  01 L-4.
  82.     02 PIC X(30) VALUE "<TR><TH><U>  PACIENTE  ".
  83.     02 PIC X(30) VALUE "<TH><U>      TELEFONO  ".
  84.     02 PIC X(30) VALUE "<TH><U>      C.C o T.I ".
  85.  01 L-5.
  86.     02 PIC X(15) VALUE "<TR><TH> ".
  87.     02 PACIENTE-I PIC X(30) VALUE "  ".
  88.     02 PIC X(4) VALUE "<TD>".
  89.     02 TELEFONO-I PIC X(14).
  90.     02 PIC X(4) VALUE "<TD>".
  91.     02 IDENTIDAD-I PIC X(14).
  92.  
  93. * 01 CAMINO.
  94. * **   02 CAM1 PIC X(40) VALUE "D:\EXCEL.EXE BALANZA.XLS".
  95.  01 ANO-X.
  96.     02 AA-N PIC 99.
  97.     02 BB-N PIC 99.
  98.  01 X-ANO REDEFINES ANO-X PIC 9(4).
  99.  01 TIPO PIC X.
  100.  01 CIA PIC X(15).
  101.  01 A1 PIC 99 VALUE 0.
  102.  01 K PIC 99 VALUE 0.
  103. *
  104.  01 SW PIC 9.  
  105.  01 CADENA PIC X(8).
  106.  01 RUTA PIC X(256).
  107.  01 REDD GLOBAL EXTERNAL.
  108.    02 RED PIC X(256).
  109.  PROCEDURE      DIVISION.
  110.  INICIO.  
  111.        OPEN OUTPUT LEXCEL CLOSE LEXCEL.
  112.        OPEN EXTEND LEXCEL.
  113.  RECIBE-FEC-ACTUAL.
  114.        MOVE ZEROS  TO DIA MES ANO DIAD MESD ANOD ANODD
  115.         ACCEPT FECHAD
  116.         FROM DATE
  117.         MOVE DIAD TO DIA
  118.         MOVE MESD TO MES
  119.         IF
  120.           ANOD > 90
  121.           COMPUTE ANODD = 1900 + ANOD
  122.           MOVE ANODD TO ANO
  123.          ELSE
  124.           COMPUTE ANODD = 2000 + ANOD
  125.           MOVE ANODD TO ANO.
  126. ** *      MOVE AA TO ANO.
  127. *      MOVE MM TO MES.
  128.       MOVE FECHA TO FECHA-II.
  129.       INSPECT L-0 REPLACING CHARACTERS BY " ".
  130.       INSPECT L0 REPLACING ALL " " BY " ".
  131.       INSPECT L-1 REPLACING ALL " " BY " ".
  132.       INSPECT L-11 REPLACING ALL " " BY " ".
  133.       INSPECT L-2 REPLACING ALL " " BY " ".
  134.       INSPECT L-3 REPLACING ALL " " BY " ".
  135. *      INSPECT L-30 REPLACING ALL " " BY " ".
  136.       INSPECT L-4 REPLACING ALL " " BY " ".
  137.       WRITE REC-LEXCEL FROM L0.
  138.       WRITE REC-LEXCEL FROM L-1.
  139.       WRITE REC-LEXCEL FROM L-3.
  140.       WRITE REC-LEXCEL FROM L-11.
  141. *      WRITE REC-LEXCEL FROM L-2.
  142.       WRITE REC-LEXCEL FROM L-3.
  143.       INSPECT L-0 REPLACING CHARACTERS BY " ".
  144.       WRITE REC-LEXCEL FROM LLL.
  145.       WRITE REC-LEXCEL FROM L-30.
  146. *                   MOVE ANO TO ANO-A
  147. *                   MOVE MES TO MES-A
  148. *                   MOVE 0  TO DIA-A.
  149. *      WRITE REC-LEXCEL FROM L-4.
  150. *      WRITE REC-LEXCEL FROM L55.
  151. * INICIO.
  152. *      MOVE SPACES TO RUTA.
  153. *      STRING RED DELIMITED BY SPACES
  154. *            "Artic.DAT" DELIMITED BY SIZE
  155. *            INTO RUTA.
  156. *      MOVE RUTA TO WF-ARTIC.
  157. * PUSE DESDE ACA
  158.  ABRIR-A.
  159. *       OPEN INPUT ABONO.
  160.        OPEN INPUT PACIENTE-A.
  161.  PRINCIPAL.
  162.        MOVE 0 TO FIN-A FIN-AA SW
  163.        MOVE "A"  TO  NOMBRE-P
  164.        MOVE ALL ZEROS TO CODIGOP-KEY  
  165.        PERFORM START-P
  166.         IF FALLO = 1
  167.               STOP RUN
  168.         ELSE
  169.          WRITE REC-LEXCEL FROM L-4
  170.          MOVE COD-P TO COD-A.
  171. *         PERFORM PROCESAR UNTIL FIN-A = 1.
  172. *         GO TO FIN.  
  173. *
  174.  PROCESAR.
  175.          PERFORM LEER-P
  176.          IF FIN-A = 1
  177.                 GO FIN
  178.           ELSE
  179.          MOVE NOMBRE-P TO PACIENTE-I
  180.          MOVE  TEL1-P TO TELEFONO-I
  181.          MOVE COD-P    TO IDENTIDAD-I
  182.          WRITE REC-LEXCEL FROM L-5
  183.          GO PROCESAR.
  184.  LEER-P.
  185.      MOVE 0 TO FIN-A
  186.      READ PACIENTE-A
  187.      NEXT RECORD AT END
  188.      MOVE 1 TO FIN-A.
  189.  
  190.  START-P.
  191.           MOVE 0  TO FALLO
  192.           START PACIENTE-A KEY NOT LESS NOMBRE-P
  193.            INVALID KEY
  194.           MOVE 1 TO FALLO.  
  195. *
  196.  FIN.  
  197. *      CLOSE ABONO.
  198.       CLOSE PACIENTE-A.
  199.       CLOSE LEXCEL.
  200.       INVOKE COM "CREATE-OBJECT" USING APPLICATION RETURNING EXCEL.
  201.       INVOKE EXCEL "SET-VISIBLE" USING COM-TRUE.
  202.       INVOKE EXCEL "GET-WORKBOOKS" RETURNING WORKBOOK.
  203.       INVOKE WORKBOOK "Open" using EXCEL_FILE.  
  204.       EXIT PROGRAM.
orlando is offline   Responder Con Cita