Alteração Cabeçalho no Word Pelo Delphi

Delphi

02/09/2003

Eu estou utilizando u procedimento para localizar um texto em um modelo de arquivo do Word e subistituir por outros dados.

Estou usando esse procedimento ai em baixa, mais não estou conseguindo alterar o que esta dentro do cabeçalho.
Alguem pode me ajudar qual comando utilizo para fazer isso.


procedure TForm1.Button3Click(Sender: TObject);
var
WinWord, Docs, Doc: Variant;
begin
NovoWord :=AdiquiraOuCrieObjeto(´Word.Application´);
// Tornar o word visivel
NovoWord.Visible := True;
// Abrir arquivo para edição
Doc:= NovoWord.Documents.Open(ExtractFilePath(Application.ExeName)+´Exemplo1.doc´);
// Substituir itens do arquivo por texto escolhido
Doc.Content.Find.Execute(FindText := ´0001´, ReplaceWith := Edit5.Text);
Doc.Content.Find.Execute(FindText := ´0002´, ReplaceWith := Edit6.Text);
// Salvar Documento
Doc.SaveAs(ExtractFilePath(Application.ExeName) + ´Ronaldo.doc´);
if Application.MessageBox(´Deseja Imprimir este documento?´,´Confirmação´,MB_ICONQUESTION+MB_YESNO)=MRYes then
Doc.PrintOut(false);
// Fechar
NovoWord.Quit;
end;


J@ck

J@ck

Curtidas 0

Respostas

Marcosdiirr

Marcosdiirr

02/09/2003

Tambem estou com o mesmo problema seu, mas seus dados estao mais corretos que o mesmo, poderia me ajudar com os passos que vc ja resolveu.

MArcps


GOSTEI 0
Everton

Everton

02/09/2003

Tente fazer o seguinte:

- No Word inicie a gravação de uma nova macro;
- Durante a gravação da macro altere o texto do cabeçalho e pare a gravação;
- Edite a macro e copie o seu conteúdo;
- Pronto;

- Os comandos a serem utilizados no Delphi são basicamente os mesmos da macro (com pequenas alterações);

Obs.: - Não fiz o teste com a alteração do cabeçalho;
- O método FindExecute é muito lento. Fiz uma substituição braçal, porém muito mais rápido, porém estava trabalhando com arquivos RTF, então, eu abria os documentos num RichEdit, substituia com o Pos( muito braçal), copiava o texto para a área de transferência, abria um novo documento do word e o colava. Foi mais rápido que o FindExecute;


GOSTEI 0
POSTAR