Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Como utilizar VBA para exportar dados excel para word como heading styles

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Danlps
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sex Dez 27, 2019 4:47 pm

Como utilizar VBA para exportar dados excel para word como heading styles

Mensagem por Danlps »

Olá pessoal,

Estou criação uma makro para exportar dados do excel para um documento word que já tem um layout definido.

Estou tentando enviar registros de linhas do excel para o word como heading style nível 3. Como posso realizar isso?

Estou tentando essa Makro mas está dando erro:
Function EscreverNoWord()
Dim objWord As New Word.Application 'o aplicativo Microsoft Word
Dim objDoc As New Excel.Application 'o documento do word em si (doc ou docx)
Dim Wordoc As Word.Document
Dim objSelection As Object
Dim myRange As Range
Dim text As String
Dim i As Long, k As Long

Worksheets("Prep.Doc").Select
Path = Range("D3")
File = Range("D4")
Set objWord = CreateObject("Word.Application")
Set Wordoc = objWord.Documents.Open(Filename:=Path & File)
objWord.Visible = True ' Word, mostre sua cara

If ActiveSheet.Index = Worksheets.Count Then
Worksheets(1).Select
Else
ActiveSheet.Next.Select
End If

Wordoc.ContentControls(1).Range.text = Range("I2")
Wordoc.ContentControls(2).Range.text = Range("I2")
Wordoc.ContentControls(3).Range.text = Range("L2")

Set objSelection = objDoc.ActiveWindow.Selection
With objSelection '<--| reference 'Selection' object
For i = 2 To 94
.TypeParagraph
.Style = objWord.ActiveDocument.Styles("Heading 3")
.TypeText text:=myRange(i, 2).text
Next
End With

End Function


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Como utilizar VBA para exportar dados excel para word como heading styles

Mensagem por webmaster »

Danlps,

O que exatamente está falhando?


Danlps
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sex Dez 27, 2019 4:47 pm

Re: Como utilizar VBA para exportar dados excel para word como heading styles

Mensagem por Danlps »

Set objSelection = objDoc.ActiveWindow.Selection
With objSelection '<--| reference 'Selection' object
For i = 2 To 94
.TypeParagraph
.Style = objWord.ActiveDocument.Styles("Heading 3")
.TypeText text:=myRange(i, 2).text
Next
End With

Dá erro nessa parte ele não reconhece a variável myRange e não estou conseguindo preencher os valores como heading style. Quero saber se tem outra forma de realizar isso.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Como utilizar VBA para exportar dados excel para word como heading styles

Mensagem por webmaster »

Danlps,

Pelo código, a variável myRange é declarada, mas nunca definida. Isso é um erro no próprio código, certo?

Att


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Danlps
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sex Dez 27, 2019 4:47 pm

Re: Como utilizar VBA para exportar dados excel para word como heading styles

Mensagem por Danlps »

Sim.
Estou com dois problemas nas tentativas de exportar os dados do excel para o word como "heading 3":
Ao tentar definir a variavel Myrange para seleção do range de dados que vou trabalhar ele exibe run-time error 1004.
Ao tentar identificar a seleção para preenchimento do heading ele também dá um erro porque não identifica o heading 3


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Como utilizar VBA para exportar dados excel para word como heading styles

Mensagem por webmaster »

Então vamos tratar um problema por vez. Onde o myRange está dando erro?


Danlps
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sex Dez 27, 2019 4:47 pm

Re: Como utilizar VBA para exportar dados excel para word como heading styles

Mensagem por Danlps »

Ok. sobre a seleção da variável myRange, estou definindo dessa forma:

Set myRange = objDoc.ActiveSheet("Hierarquia Mercadologica")

Mas quando executa, está sendo informada a mensagem: "Run-time error 91 - Object variable or With block variable not set"


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Como utilizar VBA para exportar dados excel para word como heading styles

Mensagem por webmaster »

Danlps,

Só uma dúvida. O que é o "Hierarquia Mercadologica"? O nome da planilha ou do range nomeado?


Danlps
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sex Dez 27, 2019 4:47 pm

Re: Como utilizar VBA para exportar dados excel para word como heading styles

Mensagem por Danlps »

É uma sheet.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Como utilizar VBA para exportar dados excel para word como heading styles

Mensagem por webmaster »

Aí está o erro. myRange é uma variável do tipo Range enquanto ActiveSheet é um Worksheet. Se você quer os dados sheet "Hierarquia Mercadologica", deveria ser algo como:

Código: Selecionar todos

Set myRange = Worksheet("Hierarquia Mercadologica").Range("A1:D20")


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder