Fechar Word sem salvar o arquivo

426 views
Skip to first unread message

Marcos Giufrida

unread,
Apr 27, 2018, 2:07:23 PM4/27/18
to Grupo Progress
Boa Tarde pessoal!

No trecho do código, com base no FT0518 do Datasul, gostaríamos de fechar o word instanciado sem salvar o arquivo em aberto  e sem aparecer qualquer msg que dependa de retorno do usuário…
É possível ??

Precisamos disso, pois queremos que o documento seja enviado direto para a impressora sem termos que salva-lo.
O comando :quit acaba exibindo a mensagem “Deseja salvar o arquivo aberto?”.


  DEFINE VARIABLE ch-app-word AS office.iface.word.WordWrapper NO-UNDO.
   DEFINE VARIABLE chDocument AS office.iface.word.Document NO-UNDO.

   {office/office.i Word ch-app-word}  /* Cria uma aplicação WORD */
   ch-app-word:WindowState = 2.        /* O estado dois para o Word é minimizado */
   ch-app-word:VISIBLE = NO.           /* Apenas para não mostrar que o word está sendo utilizado em tela */

   chDocument = ch-app-word:Documents:ADD(). /* Inclui arquivo */
   ch-app-word:SELECTION:EndKey(6).          /* Posiciona cursor no final do arquivo */
   ch-app-word:SELECTION:InsertBreak(2).     /* Quebra sessão antes de inserir arquivo - para permitir o danfe em paisagem e boletos em retrato */

/*    chDocument:SaveAs('c:\temp\teste_word.docx'). /* Salva o arquivo aberto no WORD com o nome final do arquivo */*/


   chDocument:CLOSE().                   /* Fecha o arquivo do WORD */
   ch-app-word:QUIT().                   /* Fechar o WORD */
   DELETE OBJECT chDocument.             /* Elimina o endereço utilizado para o Documento do Word */
   DELETE OBJECT ch-app-word.            /* Elimina o endereço utilizado para o WORD na máquina */



Atenciosamente,


Rodolfo Ramos

unread,
Apr 27, 2018, 2:12:59 PM4/27/18
to progre...@googlegroups.com
Marcos,

tenta utilizar esses comandos.

 chWord:ActiveDocument:SaveAs(c-arquivo-saida). /* Salva o documento */
 chWord:Documents:Open(c-arquivo-saida ,False,False,False,"","",False).
 chWord:ActivePrinter = SESSION:PRINTER-NAME OU NOME IMPRESSORA NO-ERROR.
 chWord:PrintOut() NO-ERROR. 
        
 chWord:ActiveDocument:CLOSE.                                /* Fecha o arquivo do WORD */
        
 chWord:QUIT().                                              /* Fechar o WORD */
 RELEASE OBJECT chWord.          
/*Caso deseje deletar o arquivo utiliza o os-comand buscando o arquivo pra deletar*/

--
Você recebeu essa mensagem porque está inscrito no grupo "Progress - 4GL" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para progress_4gl+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para progre...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/progress_4gl.
Para mais opções, acesse https://groups.google.com/d/optout.

Albert Marques Brandao Santos

unread,
Apr 28, 2018, 10:15:54 AM4/28/18
to progre...@googlegroups.com
Bom dia! 

Utilize a propriedade saved da classe document:

chDocument:saved = yes.
chDocument:close().



Em 27 de abril de 2018 15:01, Marcos Giufrida <marcosg...@gmail.com> escreveu:

--

Marcos Giufrida

unread,
May 2, 2018, 7:29:09 AM5/2/18
to progre...@googlegroups.com
Bom Dia Albert !

Ocorre esse erro ao usar os comandos...





Atenciosamente,

Marcos Giufrida

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para progress_4gl...@googlegroups.com.

Matheus Antonelli

unread,
May 2, 2018, 10:35:10 AM5/2/18
to progre...@googlegroups.com
Bom dia,

Retire essa linha e passe o parâmetro 0 (zero) para o método CLOSE ( chDocument:CLOSE(0) ).

https://msdn.microsoft.com/pt-br/vba/word-vba/articles/document-close-method-word
https://msdn.microsoft.com/pt-br/vba/word-vba/articles/wdsaveoptions-enumeration-word

At.
Matheus Antonelli



Reply all
Reply to author
Forward
0 new messages