Verifiquei no fórum sobre editar dados de um arquivo word trocando por variáveis, e apliquei em um documento que foi necessário agora.
Até feito já está, mas não consigo é o seguinte:
1- Chamar o print dialog do word para o usuário imprimir.
2- Abrir o documento trocar todos os dados mas bloquear alteração por parte do usuário.
3- Sair do word sem salvar, para não modificar as variáveis trocadas.
Segue o código abaixo.
If ( oWord := Win_olecreateobject("Word.Application") ) != nil
oWord:Visible := .T. //para visualizar na tela
oWord:WindowState := 0 ///para ?? 0 normal, 1 maxmize, 2 minimize
oDoc := oWord:Documents:Open(carq)
oText := oWord:Selection()
oFind := oText:Find()
oFind:MatchWholeWord:=.T. //somente a palavra inteira
oFind:Wrap:=1 //sempre no inicio
///busca e troca a variavel
oFind:Text:="@COMARCA"
oFind:Execute()
oText:Typetext(oCOMARCA) //ocomarca é a variavel ja preenchida antes
//.... varias trocas
//agora a parte que não funciona.
//COPIEI DO FORUM
//oWord:preview() //NAO FUNCIONA // visualiza o documento no preview do Word
//oWord:Visualizar() //NAO FUNCIONA
//oDoc:Close(False) //NAO FUNCIONA
//oWord:PrintOut() //NAO FUNCIONA
//oWord:PrintDoc(.t.) //NAO FUNCIONA
//oWord:PrintPreview(.T.) //NAO FUNCIONA
//oWord:PrintPreview:=.T. //FUNCIONA, ABRE O PREVIEW DO WORD
//oWord:Invoke("Quit",0) //NAO FUNCIONA
//oWord:Quit(0) //NAO FUNCIONA
//TENTEI DE TUDO PARA:
//ABRIR O PRINT DIALOG DO WORD para selecionar a impressora que quero enviar, tipo PDF ou uma impressora do windows
//FECHAR O WORD logo após imprimido.
EndIf
Fico no aguardo se alguem souber como fazer isto com o word, lembrando que as variáveis no word está alterando certinho, posso chamar manualmente a imrpressora e fechar o documento, mas pede pra salvar, isto não pode.
Grato
:xau