VISUAL BASIC 6.0 X WORD CAMPOS DE FORMULARIO
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
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
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
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
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
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