SUBSTITUIR TEXTOS DO WORD VIA FORM

VBLOKO 07/12/2017 16:43:43
#478337
Olá, pessoal. Bem, estou iniciando com o vb e gostaria de saber como eu devo fazer para:
- A partir de um modelo do word já existente, substituir campos específicos como [Ô]nome[Ô], [Ô]data[Ô], entre outros, por aqueles digitados em textboxes ou escolhidos em comboboxes (apenas como exemplos)
Isso seria basicamente para automatizar e não ser necessário apagar os dados anteriores e digitar os novos dados no word para cada pessoa. Procurei por alguns tutoriais, mas realmente não estou conseguindo prosseguir, sempre dá um erro em algo. Alguém teria como ajudar? Desde já, agradeço.
KERPLUNK 07/12/2017 17:30:09
#478342
[Ô]Erro em algo[Ô] é meio vago. Que erro? Onde? O que você já tentou?
VBLOKO 08/12/2017 22:10:56
#478359
Olá, Kerplunk, obrigado por responder e desculpe-me pela demora em responder.
Após inserir a referência do Word ao projeto, eu consegui fazer da seguinte forma:

  
Dim wrdApp As Word.Application

Private Sub LocalizaAltera(ByVal Procurar As String, ByVal Substituir As String)
With wrdApp.Selection.Find
.Text = Procurar.ToString
.Replacement.Text = Substituir.ToString
.Forward = True
.Format = False
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
While .Execute = True
wrdApp.Selection.Select()
System.Windows.Forms.Clipboard.SetDataObject(Substituir)
wrdApp.Selection.Paste()
End While
End With
End Sub

Private Sub btnConfirmar_Click(sender As Object, e As EventArgs) Handles btnConfirmar.Click
wrdApp = CreateObject([Ô]Word.Application[Ô])
Dim path As String = LeArquivoINI(nome_arquivo_ini, [Ô]Config[Ô], [Ô]CAMINHO_RECIBO[Ô], [Ô][Ô])
wrdApp.Documents.Open(path)
wrdApp.Visible = False
LocalizaAltera([Ô]@ASSOCIADO[Ô], txtNome.Text)
LocalizaAltera([Ô]@PREÇO[Ô], txtPreco.Text)
LocalizaAltera([Ô]@SECRETÁRIO[Ô], LeArquivoINI(nome_arquivo_ini, [Ô]Config[Ô], [Ô]SECRETARIO[Ô], [Ô][Ô]))
End Sub


No entanto, surgiu um problema. Coloquei para exemplificar três mudanças com o LocalizaAltera, mas no meu código ocorrerão mais substituições. O que acontece é que somente o primeiro campo @ASSOCIADO é substituído e, algumas vezes, o último campo do @PREÇO, ou seja, parece não estar percorrendo todo o documento porque algumas palavras não são substituídas e as que são substituídas, são substituídas somente uma vez. Alguém saberia a causa deste problema?
DAMASCENO.CESAR 09/12/2017 17:19:56
#478363
Resposta escolhida
Aqui no VBMania tem exemplos de como trabalhar com o WORD
http://www.vbmania.com.br/index.php?modulo=detalhe&id=9404
http://www.vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=442296&pagina=1
NICKOSOFT 11/12/2017 08:34:03
#478371
macoratti tem um exemplo desses e uma vez q precisei, funcionou certinho
http://www.macoratti.net/vbwdrpt.htm
Tópico encerrado , respostas não são mais permitidas