VISUAL BASIC 6.0 X WORD CAMPOS DE FORMULARIO

PROVIDER 05/08/2009 16:59:21
#319030
Boa tarde.

Estou desenvolvendo uma aplicação, onde há vários arquivos (.DOC) já formatados, contendo o logotipo da empresa, número de página e índices.
Quanto ao preenchimento do conteúdo do arquivo está OK, porém há um pequeno problema com relação ao cabeçalho do arquivo, pois no mesmo consta um número de proposta que será variável, bem como a descrição do relatório.
Exemplo:

- Numero da Proposta: 1234/09 Ref. Teste de Manutenção

Para o conteúdo do arquivo, como por exemplo, Nome do Cliente, Referencia da Proposta, Contato, estou utilizando campos de formulário do Word...porém não se pode utilizar campos de formulário no cabeçalho e nem rodapé.

Como posso fazer essa automação?

Alguém poderia me ajudar?

Atenciosamente,
Marcelo
mzapia@gmail.com
SILVIO.GARCIA 05/08/2009 17:34:56
#319038
dá uma olhada neste código, vê se te ajuda. t+


Dim mObjWord As Object
Set mObjWord = CreateObject([Ô]Word.Application[Ô])

mObjWord.Documents.Open ([Ô]C: esteLixo.doc[Ô])
mObjWord.Activedocument.Activate
mObjWord.Activedocument.Application.Visible = True

mObjWord.Selection.Font.Size = 8
mObjWord.Selection.InsertAfter ([Ô]1º linha[Ô])

mObjWord.Selection.InsertAfter (vbNewLine & vbNewLine)
mObjWord.Selection.MoveRight (3) [ô] seta pra baixo
mObjWord.Selection.MoveRight (3) [ô] seta pra baixo
mObjWord.Selection.MoveRight (3) [ô] seta pra baixo
mObjWord.Selection.Font.Size = 10

[ô]criando uma tabela
mObjWord.Activedocument.Tables.Add mObjWord.Selection.Range, 2, 3

[ô]inserindo dados na tabela
mObjWord.Selection.TypeText ([Ô]Linha 1, Coluna 1[Ô])
mObjWord.Selection.MoveRight (12) [ô]muda de célula
mObjWord.Selection.TypeText ([Ô]Linha 1, Coluna 2[Ô])
mObjWord.Selection.MoveRight (12)
mObjWord.Selection.TypeText ([Ô]Linha 1, Coluna 3[Ô])
mObjWord.Selection.MoveRight (12)
mObjWord.Selection.TypeText ([Ô]Linha 2, Coluna 1[Ô])
mObjWord.Selection.MoveRight (12)
mObjWord.Selection.TypeText ([Ô]Linha 2, Coluna 2[Ô])
mObjWord.Selection.MoveRight (12)
mObjWord.Selection.TypeText ([Ô]Linha 2, Coluna 3[Ô])

[ô]{ Auto-Formata }
[ô]mObjWord.Selection.Tables.Item(1).Select [ô]; { Seleciona a 1º tabela }
[ô]mObjWord.Selection.Cells.AutoFit [ô]; { auto-formata }

mObjWord.Selection.MoveRight (1) [ô] seta pra direita
mObjWord.Selection.MoveRight (3) [ô] seta pra baixo

mObjWord.Activedocument.Tables.Add mObjWord.Selection.Range, 1, 2
mObjWord.Selection.TypeText ([Ô]Linha 1, Coluna 1[Ô])
mObjWord.Selection.MoveRight (12) [ô]muda de célula
mObjWord.Selection.TypeText ([Ô]Linha 1, Coluna 2[Ô])
mObjWord.Activedocument.Tables(1).Borders.Enable = False


mObjWord.Selection.MoveRight (1) [ô] seta pra direita
mObjWord.Selection.MoveRight (3) [ô] seta pra baixo

[ô]inserindo quebra de pagina
mObjWord.Selection.InsertBreak (7) [ô]7=wdPageBreak

mObjWord.Selection.Font.Size = 8
mObjWord.Selection.InsertAfter (vbNewLine & [Ô]última linha[Ô])
[ô]mObjWord.Selection.InsertAfter ([Ô][Ô])
[ô]mObjWord.Selection.InsertAfter (vbNewLine & [Ô]TESTE[Ô])


[ô]pra mandar imprimir
[ô]mObjWord.Activedocument.PrintOut Background:=False [ô] , , , , , , 2
[ô]pra salvar como
mObjWord.Activedocument.SaveAs ([Ô]C:TesteLixo2.doc[Ô])
[ô]pra fechar o documento original sem salvar
mObjWord.Activedocument.Close SaveChanges:=0 [ô]0=wdDoNotSaveChanges
[ô]fechando o word
mObjWord.Quit
Set mObjWord = Nothing
PROVIDER 05/08/2009 17:56:55
#319039
Silvio,

Obrigado pela ajuda...porém o código acima não é para gravar no cabeçalho né ?! Caso não seja, estou precisando que grave as informações dentro do cabeçalho.

Atenciosamente,
Marcelo Zapia
Tópico encerrado , respostas não são mais permitidas