Fórum Word dentro da Aplicação. #346072
14/09/2007
0
Galera, seguinte:
Tenho uma aplicação com objetos do Tipo TMemo ou parecido com essa classe. Preciso saber se é possivel abrir o Word dentro da aplicação, editar esse texto e ao sair o objeto receber o texto editado?
Aff.. Meio cheio de ´nhê nhê nhê´ mas pedidos as vezes são ordens..hehehe
Obs.: Preciso do Word ´DENTRO´ da aplicação e interagindo o texto editado com o Objeto. Fora da aplicação eu consigo carregar o bendito office.
Vlw! 8)
-----------------------------------------------------------
[b:2c93ce8fff]Jeimyson de Oliveira Souza[/b:2c93ce8fff]
Analise e Desenvolvimento
[color=blue:2c93ce8fff]jeimyson.oliveira@connectinformatica.com[/color:2c93ce8fff]
[size=9:2c93ce8fff][b:2c93ce8fff]´Não quero nem saber quem pintou a zebra, só quero o resto da tinta´[/b:2c93ce8fff][/size:2c93ce8fff]
Tenho uma aplicação com objetos do Tipo TMemo ou parecido com essa classe. Preciso saber se é possivel abrir o Word dentro da aplicação, editar esse texto e ao sair o objeto receber o texto editado?
Aff.. Meio cheio de ´nhê nhê nhê´ mas pedidos as vezes são ordens..hehehe
Obs.: Preciso do Word ´DENTRO´ da aplicação e interagindo o texto editado com o Objeto. Fora da aplicação eu consigo carregar o bendito office.
Vlw! 8)
-----------------------------------------------------------
[b:2c93ce8fff]Jeimyson de Oliveira Souza[/b:2c93ce8fff]
Analise e Desenvolvimento
[color=blue:2c93ce8fff]jeimyson.oliveira@connectinformatica.com[/color:2c93ce8fff]
[size=9:2c93ce8fff][b:2c93ce8fff]´Não quero nem saber quem pintou a zebra, só quero o resto da tinta´[/b:2c93ce8fff][/size:2c93ce8fff]
Jeimyson
Curtir tópico
+ 0
Responder
Posts
16/09/2007
Sremulador
Amigo, utilizo o msword para trabalhar com macrosubstituição, com o sheelapi, estude a implementação que você quer..
Procedure Documento(Documento: String); type TWordReplaceFlags = set of (wrfReplaceAll, wrfMatchCase, wrfMatchWildcards); const wdFindContinue = 1; wdReplaceOne = 1; wdReplaceAll = 2; wdDoNotSaveChanges = 0; var WordApp: OLEVariant; begin if not FileExists(ExtractFileDir(application.ExeName) + ´\documentos\´ + Documento) then Raise exception.Create(´Não foi possivel encontrar o arquivo:´ + ExtractFileDir(application.ExeName) + ´\documentos\´ + Documento); ProcessaRegistros; try WordApp := CreateOLEObject(´Word.Application´); except Messagedlg (´Instale o Microsoft Word!´, mterror, [mbok], 0); end; WordApp.Visible := True; WordApp.Documents.Open(ExtractFileDir(application.ExeName) + ´\documentos\´ + Documento); WordApp.Selection.Find.ClearFormatting; WordApp.Selection.Find.Forward := True; //Inicio de Variaveis WordApp.Selection.Find.Wrap := wdFindContinue; WordApp.Selection.Find.Format := False; WordApp.Selection.Find.MatchWholeWord := True; WordApp.Selection.Find.MatchSoundsLike := False; WordApp.Selection.Find.MatchAllWordForms := False; //Registro do Cliente WordApp.Selection.Find.Text := ´#CCD´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[0].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Estado Civil WordApp.Selection.Find.Text := ´#CSC´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[1].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Data de Cadastro WordApp.Selection.Find.Text := ´CDC´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[10].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Município WordApp.Selection.Find.Text := ´CCI´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[2].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Funcionario quem registrou WordApp.Selection.Find.Text := ´CFR´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[3].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Nome do cliente WordApp.Selection.Find.Text := ´CNM´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[4].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Endereço Cliente WordApp.Selection.Find.Text := ´CED´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[5].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Bairro WordApp.Selection.Find.Text := ´CBR´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[6].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Profissão WordApp.Selection.Find.Text := ´#CPS´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[7].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Proximidade WordApp.Selection.Find.Text := ´CPX´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[8].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Data de nascimento WordApp.Selection.Find.Text := ´CDN´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[9].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Pai do Cliente WordApp.Selection.Find.Text := ´#CPA´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[10].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Mãe do Cliente WordApp.Selection.Find.Text := ´CMA´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[11].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); //Observações WordApp.Selection.Find.Text := ´COB´; WordApp.Selection.Find.Replacement.Text := dmr.Relatorio1.fields[12].Text; WordApp.Selection.Find.Execute(Replace := wdReplaceAll); WordApp.ActiveDocument.PrintOut; WordApp.ActiveDocument.Close(wdDoNotSaveChanges); WordApp.Quit; WordApp := Unassigned; end;
Responder
Gostei + 0
17/09/2007
Jeimyson
Vlw Brother, mas acho que não e isso que tô precisando!
Esse código carrega o Word fora da janela ativa da aplicação, eu preciso carrega-lo dentro da janela ativa e interagir com o objeto texto nele.
Por Exemplo:
Tenho um TMemo, se estiver diferente de vazio irei preencher o documento Word com o texto existente sem carrega-lo fora da janela ativa, apos a edição no word eu tenho que passar para o TMemo o que foi digitado no Word.
Vlw e ótima semana a todos! :wink:
-----------------------------------------------------------
[b:8ed0860b04]Jeimyson de Oliveira Souza [/b:8ed0860b04]
Analise e Desenvolvimento
[color=blue:8ed0860b04]jeimyson.oliveira@connectinformatica.com [/color:8ed0860b04]
[b:8ed0860b04][size=9:8ed0860b04]´Não quero nem saber quem pintou a zebra, só quero o resto da tinta´[/size:8ed0860b04][/b:8ed0860b04]
Esse código carrega o Word fora da janela ativa da aplicação, eu preciso carrega-lo dentro da janela ativa e interagir com o objeto texto nele.
Por Exemplo:
Tenho um TMemo, se estiver diferente de vazio irei preencher o documento Word com o texto existente sem carrega-lo fora da janela ativa, apos a edição no word eu tenho que passar para o TMemo o que foi digitado no Word.
Vlw e ótima semana a todos! :wink:
-----------------------------------------------------------
[b:8ed0860b04]Jeimyson de Oliveira Souza [/b:8ed0860b04]
Analise e Desenvolvimento
[color=blue:8ed0860b04]jeimyson.oliveira@connectinformatica.com [/color:8ed0860b04]
[b:8ed0860b04][size=9:8ed0860b04]´Não quero nem saber quem pintou a zebra, só quero o resto da tinta´[/size:8ed0860b04][/b:8ed0860b04]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)