none
Erro : "O metodo PasteSpecial do objeto Shapes Falhou" -2147417851(80010105) RRS feed

  • Pergunta

  • Olá,

    Tenho um codigo que gera um arquivo powerpoint  e o preenche com os dados do Excel.

    O codigo roda normal algumas vezes e outras da o erro conforme imagem abaixo(mesmo não tendo alteração no codigo)

    Segue trecho do codigo para verificar se posso melhorá-lo.

    'Create an Instance of PowerPoint
      On Error Resume Next
        
        'Is PowerPoint already opened?
          Set PowerPointApp = GetObject(class:="PowerPoint.Application")
        
        'Clear the error between errors
          Err.Clear
    
        'If PowerPoint is not already open then open PowerPoint
          If PowerPointApp Is Nothing Then Set PowerPointApp = CreateObject(class:="PowerPoint.Application")
        
        'Handle if the PowerPoint Application is not found
          If Err.Number = 429 Then
            MsgBox "PowerPoint could not be found, aborting."
            Exit Sub
          End If
    
      On Error GoTo 0
      
     PowerPointApp.Presentations.Open ppt
     
    
    'Tornar o Power Point visivel e ativo
      PowerPointApp.Visible = True
      PowerPointApp.Activate
    Set myPresentation = PowerPointApp.ActivePresentation
    ' Criar uma estrutura de repetição que percorre todos os slides
    Set Wbfocus = Workbooks.Open(focus)
    For i = 2 To 111 Step 1
    
    Set mySlide = myPresentation.Slides(i)
    'Determinar o que será copiado e colado em função do slide selecionado
        Select Case i
            Case Is = 2
    
            Set rng = ThisWorkbook.Worksheets("Longos Brasil (s_bonus_inflact)").Range("h3:r13")
    
            rng.Copy
    
            mySlide.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
            Set myShapeRange = mySlide.Shapes(mySlide.Shapes.Count)
        
            myShapeRange.Left = 15
             myShapeRange.Top = 40
             myShapeRange.Width = 675
            Application.CutCopyMode = False
        
            Set rng = ThisWorkbook.Worksheets("Longos Brasil (s_bonus_inflact)").Range("h16:q26")
    
            rng.Copy
    
            mySlide.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
            Set myShapeRange = mySlide.Shapes(mySlide.Shapes.Count)
        
            myShapeRange.Left = 15
             myShapeRange.Top = 245
            myShapeRange.Width = 525
            Application.CutCopyMode = False
        
            Set rng = ThisWorkbook.Worksheets("Longos Brasil (s_bonus_inflact)").Range("i30:m31")
    
            rng.Copy
    
            mySlide.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
            Set myShapeRange = mySlide.Shapes(mySlide.Shapes.Count)
            
            myShapeRange.Left = 40
              myShapeRange.Top = 450
             myShapeRange.Width = 350
            Application.CutCopyMode = False
        
            Set rng = ThisWorkbook.Worksheets("Longos Brasil (s_bonus_inflact)").Range("h33:k39")
    
            rng.Copy
    
            mySlide.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
            Set myShapeRange = mySlide.Shapes(mySlide.Shapes.Count)
        
         myShapeRange.Left = 540
          myShapeRange.Top = 275
          myShapeRange.Width = 170
        
         Application.CutCopyMode = False

    terça-feira, 19 de janeiro de 2016 17:35

Todas as Respostas

  • Em qual linha você obtém erro?

    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    quinta-feira, 21 de janeiro de 2016 17:16
    Moderador
  • Vária em cada vez que o erro ocorre.

    E nao acontece sempre.

    quinta-feira, 21 de janeiro de 2016 17:33
  • Deste jeito fica difícil ajudar.

    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    quinta-feira, 21 de janeiro de 2016 17:49
    Moderador
  • O que fica difícil é trabalhar com VBA no Office assim.

    Eu tenho o mesmo erro e ninguém sabe nem mesmo como contorná-lo.

    Às vezes dá erro, às vezes funciona... não tem mais o que te informar a respeito da situação.

    Tens ideia (ainda que remota) do que pode estar acontecendo?

    sexta-feira, 22 de janeiro de 2021 14:35