Ola Roberto; - cria um arquivo com notepad chamado ZIPA.BAT digete o conteudo abaixo: C:\arquiv~1\Winzip\winzip32.exe -a %1 %2 %3 %4 %5 - salve ele numa pasa c:\BAT depois faça um .p com o conteudo abaixo. DEFINE VAR leva_arquivo AS CHAR NO-UNDO. DEF VAR wsn AS LOG. DEF VAR wcont AS INT. DEF VAR wtimei AS INT. DEF VAR wtuzip AS CHAR FORMAT "x(300)". ASSIGN leva_arquivo = "c:\qualarquivozipar.xls" warqzip = "" wcont = 0 wsn = NO wtimei = TIME wtuzip = "c:\bat\zipa.bat". FILE-INFO:FILE-NAME = wtuzip. wresp = FILE-INFOATHNAME = ?. IF wresp = NO THEN DO: ASSIGN warqzip = TRIM (leva_arquivo, ".xls") wtuzip = wtuzip + " " + warqzip + " " + leva_arquivo. OS-COMMAND SILENT value(wtuzip). /* aqui zipa o arquivo */ ASSIGN warqzip = warqzip + ".zip". REPEAT WHILE (TIME - wtimei) < 180: DO wcont = 0 TO 100: END. FILE-INFO:FILE-NAME = warqzip. wresp = FILE-INFOATHNAME = ?. IF NOT wresp THEN DO: OS-DELETE VALUE(leva_arquivo). /* AQUI ele ELIMINA o arquivo original */ LEAVE. END. END. /* repeat */ END. /* do bloco wresp */
Não testei, mas acredito que tu possa colocar o comando direto nessa linha OS-COMMAND SILENT value(wtuzip). /* aqui zipa o arquivo */ Ao invés de cirar um .bat com o comando. Att, Anderson