GENERIC - INTEGRACAO COM O WORD E COPIAS DE ARQUIV
4187 Consideracoes importantes:<br><br>O Word so abre/cria Documentos em um local fisico, isto e, tem que ter acesso ao diretorio/drive, nao pode ser via Server do Protheus, do Client o Word nao abre diretamente no Server a nao ser que esteja mapeado e o Client esteja com acesso de gravacao.<br><br>Para que o Client possa visualizar/atualizar algum documento devera ser copiado do Server para o Client os arquivos necessarios para a realizacao das tarefas e de acordo com a necessidade/objetivo podera ser retornado para Server atraves das funcoes CPYS2T() E CPYT2S(). Em alguns casos onde sera feita apenas a leitura podera ser utilizado o WordViewer mencionado em outro item do Banco de Conhecimento.<br><br>E aconselhavel que as versoes do Officer instaladas nas maquinas Client e Server serem iguais para evitar problemas futuros, como por exemplo, a criacao de um documento no Officer2000 e a leitura feita por um Client que tenha o Officer97. Outro ponto importante e que a instalacao do Windows e Officer devera ser feita do zero (formatar HD), nao instalar versoes de upgrade, experiencia obtida em varios clientes.<br><br>Exemplo de copia do Server para o Client:<br><br>CPYS2T("\DOCS\EXEMPLO.DOC","C:\WINDOWS\TEMP",.T.)<br>1o.Parametro e o nome do arquivo a ser copiado para o Client<br>2o.Parametro e o diretorio do Client e/ou local fisico onde sera copiado o arquivo.<br>3o.Parametro se deseja compactar o arquivo (recomendavel).<br><br>CPYT2S("C:\WINDOWS\TEMP","\DOCS\EXEMPLO.DOC",.T.)<br>Exemplo de copia do Client para o Server:<br>1o.Parametro e o nome do arquivo a ser copiado para o Server<br>2o.Parametro e o diretorio do Server<br>3o.Parametro se deseja compactar o arquivo (recomendavel).<br><br>OBS: os Arquivos que poderao ser copiados deverao estar necessariamente embaixo do RootPath, isto e, o diretorio DOCS do exemplo acima devera ser sub-diretorio do diretorio colocado no RootPath, apenas um exemplo existe outras maneiras de direcionar o diretorio. <br><br>Funcoes do Word:<br><br>oWord:=OLE_CreateLink("TMSOLEWORD97")<br>-Funcao que abre o Link com o Word tendo como parametro a versao (Office 95 ou Office 97)<br><br>OLE_SetProperty(oWord, OLEWDVISIBLE, .T. )<br>OLE_SetProperty(oWord, OLEWDPRINTBACK,.T. )<br>-Funcao que faz o Word aparecer na Area de Transferencia do Windows, sendo que para habilitar/desabilitar e so colocar .T. ou .F.<br><br>OLE_SetProperty(oWord,OLEWDLEFT ,000)<br>OLE_SetProperty(oWord,OLEWDTOP ,090)<br>OLE_SetProperty(oWord,OLEWDWIDTH ,480)<br>OLE_SetProperty(oWord,OLEWDHEIGHT,250)<br>-Funcoes que configuram o tamanho da janela do Word<br><br>OLE_OPENFILE(oWord,"C:\WINDOWS\TEMP\EXEMPLO.DOC",lReadOnly,"SENHAXXX","SENHAWWW")<br>-Funcao de abertura do Documento com os parametros lReadOnly (Somente Leitura), com SENHAXXX (senha de abertura do Documento) e com SENHAWWW (senha de gravacao).<br><br>OLE_NewFile(oWord,"C:\WINDOWS\TEMP\EXEMPLO.DOT")<br>-Funcao para criar um Documento com Modelo(DOT) especificado no parametro.<br><br>OLE_SaveAsFile(oWord,"C:\WINDOWS\TEMP\EXEMPLO1.DOC","SENHAXXX","SENHAWWW",.F.,OLEWDFORMATDOCUMENT)<br>-Funcao que salva o Documento com o nome especificado, com senha e no formato Word.<br><br>OLE_SaveFile(oWord)<br>-Funcao salva o Documento corrente.<br><br>OLE_SetDocumentVar(oWord,"Adv_NomeFilial", "Microsiga Software S/A")<br>-Funcao que atualiza as variaveis do Word, conforme exemplo ira atualizar a variavel "AdvNomeFilial" com o conteudo "Microsiga Software S/A". O RdMake GPEWORD podera servir de exemplo para atualizacao de variaveis.<br><br>OLE_Updatefields(oWord)<br>-Funcao que atualiza os campos da memoria para o Documento, utilizada logo apos a funcao OLE_SetDocumentVar().<br><br>OLE_PrintFile(oWord,"ALL",nPagInicial,nPagFinal,nCopias)<br>-Funcao que imprime o Documento corrente podendo ser especificado o numero de copias, podedo tambem imprimir com um intervalo especificado nos parametros "nPagInicial" ate "nPagFinal" retirando o parametro "ALL".<br><br>OLE_CloseFile(oWord)<br>-Funcao que fecha o Documento sem fechar o Link com o Word, utilizado para manipulacao de dois ou mais arquivos (recomendado fechar todos os arquivos antes de fechar o Link com Word)<br><br>OLE_CloseLink(oWord)<br>-Funcao que fecha o Link com o Word.