Ir ao conteúdo
  • Cadastre-se
Jvitorino1007

Outro Quebra de página no documento Word

Posts recomendados

Bom dia, alguém poderia me ajudar por favor?

 

Estou gerando um documento em Word atráves do VBA excel com textos e imagens, só que precisava que essa imagem fosse salva em outra página e não estou conseguindo fazer...estou usando esse código  "Selection.InsertBreak Type:=wdPageBreak" mas fica dando erro 461.

Por gentileza laguém poderia me auxliar por favor?

Obrigado!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jvitorino1007 Envie o codigo completo que esta utilizando..

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole

Private Sub CommandButton1_Click()
Dim Word As Object

Dim documento As Object
Dim selection As Document

Dim oImage As Shape

Set Word = CreateObject("Word.Application")

Word.Visible = True

Set documento = Word.Documents.Add(ThisWorkbook.Path & "\Test.docx")

Dim docativo
Set docativo = documento
docativo.InlineShapes.AddPicture Filename:=nome, LinkToFile:=False, SaveWithDocument:=True

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue codigo com as alteracoes: 

 

Private Sub CommandButton1_Click()
Dim Word As Object

Dim documento As Object
Dim selection As Document
Dim oImage As Shape

Set Word = CreateObject("Word.Application")

Word.Visible = True

Set documento = Word.Documents.Add(ThisWorkbook.Path & "\Test.docx")

Dim docativo
Set docativo = documento
docativo.InlineShapes.AddPicture Filename:=nome, LinkToFile:=False, SaveWithDocument:=True
Word.selection.InsertBreak Type:=wdPageBreak

End Sub

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole Vou tentar aqui amigo, muito obrigado desde já.

adicionado 15 minutos depois

@Basole amigo deu certo, mas queria que somente a imgem fosse para outra página, o texto está indo junto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jvitorino1007 veja agora apos esses ajustes :

Private Sub CommandButton1_Click()
    Dim Word As Object
    
    Dim documento As Object
    Dim selection As Document
    Dim oImage As Shape
    Dim nxPara As Paragraph
    Dim s As Word.InlineShape
    
    Set Word = CreateObject("Word.Application")
    
    Word.Visible = True
    
    Set documento = Word.Documents.Add(ThisWorkbook.Path & "\Test.docx")
    
    Dim docativo
    Set docativo = documento
    
    With docativo
      .Range.Paragraphs.Last.Range.InsertParagraphAfter
      Set nxPara = .Paragraphs.Last
      nxPara.Range.InsertBreak Type:=wdPageBreak
      Set s = nxPara.Range.InlineShapes.AddPicture(nome, False, True)
      s.Width = 400
    End With

End Sub

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole Vou tentar aqui, muito obrigado novamente

adicionado 2 minutos depois
3 minutos atrás, Basole disse:

@Jvitorino1007 veja agora apos esses ajustes :


Private Sub CommandButton1_Click()
    Dim Word As Object
    
    Dim documento As Object
    Dim selection As Document
    Dim oImage As Shape
    Dim nxPara As Paragraph
    Dim s As Word.InlineShape
    
    Set Word = CreateObject("Word.Application")
    
    Word.Visible = True
    
    Set documento = Word.Documents.Add(ThisWorkbook.Path & "\Test.docx")
    
    Dim docativo
    Set docativo = documento
    
    With docativo
      .Range.Paragraphs.Last.Range.InsertParagraphAfter
      Set nxPara = .Paragraphs.Last
      nxPara.Range.InsertBreak Type:=wdPageBreak
      Set s = nxPara.Range.InlineShapes.AddPicture(nome, False, True)
      s.Width = 400
    End With

End Sub

 

@Basole Amigo obrigado mesmo deu certo aqui nota 10 valeu mesmo

adicionado 9 minutos depois
6 minutos atrás, Jvitorino1007 disse:

@Basole Vou tentar aqui, muito obrigado novamente

adicionado 2 minutos depois

@Basole Amigo obrigado mesmo deu certo aqui nota 10 valeu mesmo

@Basole A última dúvida eu tenho que inserir mais uma imagem desse jeito também...e está pulando 3 páginas se eu quiser diminuir como faço..to quebrando a cabeça nisso e você em 1 minuto faz kkk a última ajuda po gentileza se não for pedir demais

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jvitorino1007 voce nao especificou, mas suponho que queira inserir outra imagem, na proxima pagina...

  * Altere a variavel nome pela da outra imagem

With docativo
      .Range.Paragraphs.Last.Range.InsertParagraphAfter
      Set nxPara = .Paragraphs.Last
      nxPara.Range.InsertBreak Type:=wdPageBreak
      Set s = nxPara.Range.InlineShapes.AddPicture(nome, False, True)
      s.Width = 400
      ' Insere outra imagem em outra pagina
      .Range.Paragraphs.Last.Range.InsertParagraphAfter
      Set nxPara = .Paragraphs.Last
      nxPara.Range.InsertBreak Type:=wdPageBreak
      Set s = nxPara.Range.InlineShapes.AddPicture(nome, False, True)
      s.Width = 400
End With
    

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole Bom dia amigo, vou tentar aqui  muito obrigado novamente.Obrigado mesmo

adicionado 29 minutos depois

@Basole

Private Sub CommandButton1_Click()
Dim Word
Dim documento


Set Word = CreateObject("Word.Application")

Word.Visible = True
Set documento = Word.Documents.Add(ThisWorkbook.Path & "\Test.docx")
Dim docativo
Set docativo = documento


With docativo
      .Range.Paragraphs.Last.Range.InsertParagraphAfter
      Set nxPara = .Paragraphs.Last
      nxPara.Range.InsertBreak Type:=wdPageBreak
      Set s = nxPara.Range.InlineShapes.AddPicture(nome, False, True)
      s.Width = 400
End With
      
With docativo
      .Range.Paragraphs.Last.Range.InsertParagraphAfter
      Set nxPara = .Paragraphs.Last
      nxPara.Range.InsertBreak Type:=wdPageBreak
      Set s = nxPara.Range.InlineShapes.AddPicture(figura, False, True)
      s.Width = 400
 End With
 
With documento

.FormFields("nome").Range = TextBox1.Value
.FormFields("en").Range = TextBox2.Value
End With

End Sub

Private Sub CommandButton3_Click()

Set foto = Sheets("Plan1").ChartObjects("Gráfico 1").Chart
nome = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
foto.Export Filename:=nome, filtername:="GIF"
Image1.Picture = LoadPicture(nome)

Set foto = Sheets("Plan1").ChartObjects("Gráfico 2").Chart
figura = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
foto.Export Filename:=nome, filtername:="GIF"
Image2.Picture = LoadPicture(figura)
End Sub

 

 

Esse é o código completo que estou usando, ele carrega as duas imagens no userform mas está exportando somente a figura 2.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jvitorino1007 seria o bom se pudesse enviar os arquivos para testar e analisar o seu senário.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole @Basole vou enviar,

adicionado 11 minutos depois

teste.xls

adicionado 39 minutos depois

@Basole amigo consegui reslover essa parte aqui, qual o comando que posso utilizar para movimentar a imagem dentro do word ? Tentei colocar alguns aqui mas não deu certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jvitorino1007 faltou enviar o arquivo "Test.docx", que esta sendo referenciado no codigo.

 

@Jvitorino1007 sem esse arquivo nao posso testar. Vamos esperar se algum colega pode lhe ajudar.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@BasoleBom dia amigo, segue a arquivo em word...seria possivel deixar um título em cima de cada imagem?

Ex: primeira imagem " Curva de seletividade de fase" e segunda imagem " Curva se sletiviadade de neutro"

Test1.docx

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole amigo também precisava aumentar a figura, tentei alguns códigos mas não deram ressultados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jvitorino1007 segue o ajuste do código de acordo com o cenários dos aquivos enviados: 

 

Private Sub CommandButton1_Click()
Dim Word
Dim documento
Dim nxPara As Paragraph
Dim passo As Integer
         
Set Word = CreateObject("Word.Application")

Word.Visible = True
Set documento = Word.Documents.Add(ThisWorkbook.Path & "\Test1.docx")
Dim docativo
Set docativo = documento

With docativo
        .Range.Paragraphs.Last.Range.InsertParagraphAfter
         Set nxPara = .Paragraphs.Last
         nxPara.Alignment = wdAlignParagraphCenter
         nxPara.Range.Text = "Curva de seletividade de fase"
         .Range.Paragraphs.Last.Range.InsertParagraphAfter
      Set s = nxPara.Range.InlineShapes.AddPicture(nome, False, True)
       
       s.Width = 400  '**** LARGURA DA IMAGEM 1
       s.Height = 200 '**** ALTURA DA IMAGEM 1
      
    For passo = 1 To 5
         ' **** Define os espacos entre as imagens (5 paragrafos abaixo)
      .Range.Paragraphs.Last.Range.InsertParagraphAfter
    Next passo
    
      Set nxPara = .Paragraphs.Last
         nxPara.Range.Text = "Curva se sletiviadade de neutro"
         .Range.Paragraphs.Last.Range.InsertParagraphAfter
    
      Set s = nxPara.Range.InlineShapes.AddPicture(nome, False, True)
      
       s.Width = 400    '**** LARGURA DA IMAGEM 2
       s.Height = 200   '*****ALTURA DA IMAGEM 2
      
 End With
 
With documento

.FormFields("nome").Range = TextBox1.Value
.FormFields("en").Range = TextBox2.Value

End With

End Sub

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole @Basole amigo show de bola cara, nem sei como te agradecer por essas ajudas, esse trabalho é o meu projeto de estágio...ficou 10 com sua ajuda valeu mesmo. Muito obrigado mesmo pela ajuda, acredito que novas dúvidas viram e se puder continuar me dando esse auxilio eu agradeço de coração.

adicionado 18 minutos depois

@Basole Como eu disse, estou tentando colocar em negrito e uma letra maior no "Curva de seletividade de fase e de neutro" mas esta dando erro.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jvitorino1007 tente desta forma:

 

         nxPara.Range.Font.Name = "TAHOMA"
         nxPara.Range.Font.Size = 13
         nxPara.Range.Font.Italic = True
         nxPara.Range.Font.Bold = True     ' (negrito)

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!