GARANTIR DESCONTO

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]


Jeimyson

Jeimyson

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]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar