jfaguiar Posted November 5, 2010 Report Share Posted November 5, 2010 Olá pessoal. Tenho um PPRA (Programa de Prevenção de Riscos Ambientais) em MS-Word e sei que tem como tornar alguns dados desse documento alteráveis pelo Five Win. No momento não tenho idéia de como fazer isso e se aguém tiver um exemplo de como fazer, me ajuaria muito. Exemplo: Tenho um bloco do documento com o nome da empresa, outro com a data de referência, etc. Tudo que preciso é saber como atribuir a esses blocos dados de variáveis do FW e em seguida imprimir. Esse sistema está em FiveWin for Harbour 7.01 Desde já agradeço as contribuições. João Freire de Aguiar Editado por - jfaguiar on 05/11/2010 15:58:44 Editado por - jfaguiar on 05/11/2010 17:05:00 Quote Link to comment Share on other sites More sharing options...
jfaguiar Posted November 5, 2010 Author Report Share Posted November 5, 2010 Olá pessoal. Tenho um PPRA (Programa de Prevenção de Riscos Ambientais) em MS-Word e sei que tem como tornar alguns dados desse documento alteráveis pelo Five Win. No momento não tenho idéia de como fazer isso e se aguém tiver um exemplo de como fazer, me ajuaria muito. Exemplo: Tenho um bloco do documento com o nome da empresa, outro com a data de referência, etc. Tudo que preciso é saber como atribuir a esses blocos dados de variáveis do FW e em seguida imprimir. Esse sistema está em FiveWin for Harbour 7.01 Desde já agradeço as contribuições. João Freire de Aguiar Editado por - jfaguiar on 05/11/2010 15:58:44 Editado por - jfaguiar on 05/11/2010 17:05:00 Quote Link to comment Share on other sites More sharing options...
joaosolution Posted November 5, 2010 Report Share Posted November 5, 2010 João oWord := TWord():New() oWord:OpenDoc( "C:\PPRA.DOC" ) oWord:Replace("@EMPRESA",Tabela->Razao) oWord:Replace("@DATAREF",Date()) oWord:Preview() oWord:PrintDoc() oWord:Close() oWord:End() Att João Bosco Contagem/MG FWH 10.6b xHb 1.2.1 WorkShop 4.5 PellesC SQLLIB Quote Link to comment Share on other sites More sharing options...
jfaguiar Posted November 5, 2010 Author Report Share Posted November 5, 2010 Muito obrigado João Bosco. Tá bem compreensÃvel! Somente duas dúvidas: - Como expresso essa variável @empresa no texto do Word? - Esse documento do Word deve ser salvo normal ou em outro formato? Grato João Quote Link to comment Share on other sites More sharing options...
Luisão Posted November 5, 2010 Report Share Posted November 5, 2010 João, no seu DOC, toda ocorrência da palavra @EMPRESA que existir, será trocada por Tabela->Razao. É o equivalente a fazer um STRTRAN numa string qualquer no FW. Luis Fernando Jr. (Luisão) Leme/SP -- FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY juninho.luisao@gmail.com juninho_luisao@hotmail.com Skype luis.fernando.jr Quote Link to comment Share on other sites More sharing options...
joaosolution Posted November 5, 2010 Report Share Posted November 5, 2010 João O documento deve ser salvo como doc normal. Você deve criar um documento padrão com os campos que deseja alterar, MANUALMENTE. Neste documento não existirá os dados da empresa e sim as macros para serem substituÃdas. Empresa: @EMPRESA Endereço: @ENDERECO Telefone: @TELE etc... Att João Bosco Contagem/MG FWH 10.6b xHb 1.2.1 WorkShop 4.5 PellesC SQLLIB Quote Link to comment Share on other sites More sharing options...
jfaguiar Posted November 5, 2010 Author Report Share Posted November 5, 2010 Realmente este site é uma benção. Vou dar inÃcio a minha primeira aplicação com a TWord. Muito obrigado pessoal. Quote Link to comment Share on other sites More sharing options...
jfaguiar Posted November 5, 2010 Author Report Share Posted November 5, 2010 Olá pessoal. Adicionei código twordhb.prg e compilei uma aplicação simples em Harbour 7.01 e deu a seguinte mensagem no Word 2003: Este método ou propriedade não está disponÃvel porque uma janela de documento não está ativa. Alguém pode ajudar? Segue o código: #INCLUDE "FiveWin.ch" // PROCEDURE PPRA LOCAL oDlg,oFONTSCR PRIVATE aMESES := {"JANEIRO","FEVEREIRO","MARÇO","ABRIL","MAIO","JUNHO","JULHO","AGOSTO","SETEMBRO","OUTUBRO","NOVEMBRO","DEZEMBRO"} PRIVATE dDATA := DATE() PRIVATE cMESANO := aMESES[ MONTH(dDATA) ] + " DE "+STR( YEAR(dDATA),4) DEFINE DIALOG oDlg FROM 5, 5 TO 18,70 TITLE 'Manutencao do PPRA' oDlg:Cargo := .F. @ 0.1, 0.2 TO oDlg:nHeight()*.03554,oDlg:nWidth()*.07101 OF oDlg // @ LINS(01.0),COLS(01) SAY "Informe a data de referência:" @ LING(02.0),COLG(01) GET dDATA COLORS CLR_FONGET,CLR_FUNGET // @ oDlg:nHeight()/2-19,oDlg:nWidth()/2-70 BTNBMP SIZE 30,15 Pixel; FILENAME "&cDRIVE\SISCOM\bitmaps\BTNOK.bmp"; ACTION (oDlg:Cargo := .T.,oDlg:End() ) @ oDlg:nHeight()/2-19,oDlg:nWidth()/2-35 BTNBMP SIZE 32,15 Pixel; FILENAME "&cDRIVE\SISCOM\bitmaps\BTNCANC.bmp"; ACTION oDlg:End() ACTIVATE DIALOG oDlg CENTERED IF oDlg:Cargo ImpPpra() ENDIF CLOSE DATABASE RETURN Nil ***********************************************************FUNCTION ImpPpra() local oWord oWord := TWord():New() oWord:OpenDoc( "&cDRIVE\SISCOM\DOCUMENTOS\PPRABH2010.DOC" ) //oWord:Replace("@EMPRESA",ARQPARAM->EMPRESA) oWord:Replace("@cMESANO",aMESES[ MONTH(dDATA) ] + " DE "+STR( YEAR(dDATA),4) ) oWord:Preview() oWord:PrintDoc() oWord:Close() oWord:End() RETURN Nil ***********************************************************id=code>id=code> Quote Link to comment Share on other sites More sharing options...
netsys Posted November 6, 2010 Report Share Posted November 6, 2010 Ola João Tente comentar a linha do :PrintDoc e do :Close Abs Alberto - SP Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.