Localizar variaveis iguais e alterar no word com vb 2008

18/03/2011

0

Olá pessoal,
Estou criando um programa em vb 2008, onde eu digito alguns dados como nome, RG, etc... e ele abre um documento do word onde ele altera esses dados atraves de uma variavel, porém essas variaveis se repetem varias vezes no documento mas nem todas elas se alteram, alguem poderia me dar uma ajuda?

Meu codigo:

Private Sub btnGeraAviso_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGeraAviso.Click


Try

'Instancia a Aplicação Word.

objWord = CreateObject("Word.Application")

'Abre o documento .doc do Microsoft Word.

objWord.Documents.Open("C:\Documents and Settings\...\Documento.doc")

'Procura pela palavra "@Nome" e substitui pelo conteúdo indicado

SubstituiVariavel("@Nome1", NomeTextBox1.Text)
SubstituiVariavel("@RG1", RGTextBox1.Text)
SubstituiVariavel("@Dia1", cmbDia1.Text)
SubstituiVariavel("@Mes1", cmbMes1.Text)
SubstituiVariavel("@Ano1", cmbAno1.Text)
SubstituiVariavel("@Nome2", NomeTextBox2.Text)
SubstituiVariavel("@RG2", RGTextBox2.Text)
SubstituiVariavel("@Dia2", cmbDia2.Text)
SubstituiVariavel("@Mes2", cmbMes2.Text)
SubstituiVariavel("@Ano2", cmbAno2.Text)

If MsgBox("Confirma abertura do documento?", MsgBoxStyle.YesNo, "Microsoft Word - teste.txt") = MsgBoxResult.Yes Then

'torna o Word visivel

objWord.visible = True

'habilita o botão para fechar o word sem salvar

btnFechaWord.Enabled = True

Else

fechaWord()

End If

Catch ex As Exception

objWord.ActiveDocument.Close(False)

objWord.Quit()

objWord = Nothing

MsgBox(ex.Message)

End Try

End Sub
________________________________________________

Private Sub SubstituiVariavel(ByVal Achar As String, ByVal Substituir As String)

objWord.Selection.Find.ClearFormatting()

objWord.Selection.Find.Replacement.ClearFormatting ()

'procura a variável e substitui o valor

With objWord.Selection.Find

.Text = Achar.ToString

.Replacement.Text = Substituir.ToString

.Forward = True

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchWildcards = False

.MatchSoundsLike = False

.MatchAllWordForms = False


While .Execute = True

objWord.Selection.Select()

System.Windows.Forms.Clipboard.SetDataObject(Subst ituir)

objWord.Selection.Paste()

End While

End With

End Sub
Marcos Barea

Marcos Barea

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar