Página 1 de 1

colar do excel para word formatando

Enviado: 24 Jun 2019 às 11:06
por thiagocarloss
Olá

foi criada uma planilha onde tem alguns dados de fornecedores, e também foi criado um formulário VBA onde as informações dos textbox do formulario são transferidos para um documento do WORD.

A minha questão, por ser inexperiente em VBA é a seguinte:
Quando clico no botão para transferir os dados para o arquivo WORD, o mesmo abre, as transferencias dos dados são feitas, e tudo certo. Porém, o texto enviado fica com a formatação que já estava no word, gostaria de enviar a formatação pronta.
Ex: Gostaria que fornecedor fosse colocado em negrito e rua fosse centralizado etc.
em VB tem alguns comandos parecedido como por exemplo "If myRange.Find.Found = True Then myRange.Bold = True" ' se encontar a palavra procurada transforma em negrito. ou o comando .ClearFormatting para limpar formatação entre outros
Não consigo fazer algo parecido em VBA

Private Sub btnGeraContrato_Click()
Dim Word As Word.Application
Dim DOC As Word.document
Dim MODELO As String

Pasta = ThisWorkbook.Path

Set Word = CreateObject("Word.Application")
Word.Visible = True

MODELO = Pasta & "\Contratos\Contrato 1.docx"

Set DOC = Word.Documents.Open(MODELO)

With DOC
'*Dados fornecedor
.Application.Selection.Find.Text = "#FORNECEDOR"
.Application.Selection.Find.Forward = True
.Application.Selection.Find.Wrap = wdFindContinue
.Application.Selection.Find.Execute
.Application.Selection.Range = UCase(Me.TextBox1)

.Application.Selection.Find.Text = "#RUA"
.Application.Selection.Find.Forward = True
.Application.Selection.Find.Wrap = wdFindContinue
.Application.Selection.Find.Execute
.Application.Selection.Range = TextBox3

.Application.Selection.Find.Text = "#Cidade"
.Application.Selection.Find.Forward = True
.Application.Selection.Find.Wrap = wdFindContinue
.Application.Selection.Find.Execute
.Application.Selection.Range = TextBox5

.Application.Selection.Find.Text = "#UF"
.Application.Selection.Find.Forward = True
.Application.Selection.Find.Wrap = wdFindContinue
.Application.Selection.Find.Execute
.Application.Selection.Range = TextBox6
'*Dados locatário
.Application.Selection.Find.Text = "#LOCATARIO"
.Application.Selection.Find.Forward = True
.Application.Selection.Find.Wrap = wdFindContinue
.Application.Selection.Find.Execute
.Application.Selection.Range = UCase(txt_nome_locatario)


.Visible = True
.WindowState = wdWindowStateMaximize

End With

End Sub