Documento do Word
Olá companheiros,
Espero que possam me ajudar...
Estou precisando completar um documento já existente via programação. Substituir algumas partes do texro e inserir algumas tabelas. Atravez de pesquisas no forum, encontrei alguns exemplos:
MSWord:= CreateOleObject(´Word.Basic´);
Com esta variante consigo inserir uma tabela, más não consigo sair de dentro da tabela criada para criar outra tabela e nem para continuar inseririndo texto (fora da tabela criada). Além disso, não consigo também subistituir texto: o comando ´MSWord.Content.Find.Execute(FindText := ´@002´, ReplaceWith := ´Belo Horizonte ´+FormatDateTime(´DD/MM/YYYY´, Date));´ sempre retorna um erro dizendo que o comando Content, ou Find, ou... ´not supported by automation object´.
Quanto uso a variante MSWord..CreatOleObjeto(´Word.Application´), consigo substituir texto más não consigo inserir tabelas. A mensagem de erro é a mesma descrita acima.
Quanto uso as duas variantes MSWord:= CreateOleObject(´Word.Basic´) e MSDOC:= CreateOleObject(´Word.Application´) consigo substituir texto e criar uma tabela, más a tabela é sempre criada no topo da página e não onde o cursor supostamente deveria estar e também aí após criar uma tabela não consigo sair de dentro dela para continuar processando o documento.
Preciso substituir texto em um arquivo do word já existente e inserir algumas tabelas de preço em locais pre-difinidos.
Se puderem me ajudar...
Desde já agradeço pela atenção de vocês.
Augusto Vieira
ajvieira@terra.com.br
Espero que possam me ajudar...
Estou precisando completar um documento já existente via programação. Substituir algumas partes do texro e inserir algumas tabelas. Atravez de pesquisas no forum, encontrei alguns exemplos:
MSWord:= CreateOleObject(´Word.Basic´);
Com esta variante consigo inserir uma tabela, más não consigo sair de dentro da tabela criada para criar outra tabela e nem para continuar inseririndo texto (fora da tabela criada). Além disso, não consigo também subistituir texto: o comando ´MSWord.Content.Find.Execute(FindText := ´@002´, ReplaceWith := ´Belo Horizonte ´+FormatDateTime(´DD/MM/YYYY´, Date));´ sempre retorna um erro dizendo que o comando Content, ou Find, ou... ´not supported by automation object´.
Quanto uso a variante MSWord..CreatOleObjeto(´Word.Application´), consigo substituir texto más não consigo inserir tabelas. A mensagem de erro é a mesma descrita acima.
Quanto uso as duas variantes MSWord:= CreateOleObject(´Word.Basic´) e MSDOC:= CreateOleObject(´Word.Application´) consigo substituir texto e criar uma tabela, más a tabela é sempre criada no topo da página e não onde o cursor supostamente deveria estar e também aí após criar uma tabela não consigo sair de dentro dela para continuar processando o documento.
Preciso substituir texto em um arquivo do word já existente e inserir algumas tabelas de preço em locais pre-difinidos.
Se puderem me ajudar...
Desde já agradeço pela atenção de vocês.
Augusto Vieira
ajvieira@terra.com.br
Zangado
Curtidas 0
Respostas
Luiz Henrique
05/11/2008
dai zangado, tudo bl
na ClubeDelphi100 tem um artigo sobre isto dai
na ClubeDelphi100 tem um artigo sobre isto dai
GOSTEI 0
Zangado
05/11/2008
Obrigado pela resposta.
Onde encontro a ClubeDelphi100 ???
Onde encontro a ClubeDelphi100 ???
GOSTEI 0
Zangado
05/11/2008
Me comprometi a entregar esta parte do trabalho até amanhã. Já venho a uma semanha ralando sobre este tópico e não consegui (ainda) produzir nada que fosse satisfatório em termos de Word. Caso você tenha a ClubeDelphi100, seria possível transcrever alguns comandos que posso usar para finalizar esta rotina (substituição de texto e inserção de tabelas em pontos pre-definidos) ou escanear a matéria pertinente e me enviar por e-mal?
Se for possível, vai me ajudar demais.
Mesmo que não seja possível, Obrigado pela atenção.
Augusto Vieira
ajvieira@terra.com.br
Se for possível, vai me ajudar demais.
Mesmo que não seja possível, Obrigado pela atenção.
Augusto Vieira
ajvieira@terra.com.br
GOSTEI 0
Laclaudi
05/11/2008
Quando faço uma tabela costumo usar o comando abaixo para sair dela.
Para facilitar a sua vida, crie uma macro no word fazendo a operação que deseja fazer no seu documento e depois veja o codigo que ela gerou e tente reproduzir na aplicação
LinMove:= wdLine;
WordApplication1.Selection.MoveDown(LinMove, EmptyParam, EmptyParam);
Para facilitar a sua vida, crie uma macro no word fazendo a operação que deseja fazer no seu documento e depois veja o codigo que ela gerou e tente reproduzir na aplicação
LinMove:= wdLine;
WordApplication1.Selection.MoveDown(LinMove, EmptyParam, EmptyParam);
GOSTEI 0
Zangado
05/11/2008
laclaudi,
Não compila com o comando wdLine. Incluí no uses a cláusula Word2000 más aí a mensagem de erro passa a ser ´Word2000.dcu not found´.
Obrigado pela atenção.
Não compila com o comando wdLine. Incluí no uses a cláusula Word2000 más aí a mensagem de erro passa a ser ´Word2000.dcu not found´.
Obrigado pela atenção.
GOSTEI 0
Laclaudi
05/11/2008
Entre em contato comigo pelo e-mail laclaudi@uol.com.br que passo para vc o passo a passo desse arquivos do Word.
GOSTEI 0