Pergunta

Eu tenho um slide do PowerPoint 2007 com dois objetos Excel incorporados.Quero acessar a aba da planilha1 e quebrar todos os links.Estava tentando copiar e colar por valor, mas estou travado, embora o código rode, não faz nada.Qualquer ajuda é muito apreciada.

Dim OSL como Slide Dim OSHEET como objeto Dim PPAPP como PowerPoint.Application Dim PPPRES como PowerPoint.presentação

Para cada OSL no ActivePresentation.slide para cada OSH em OSL.Shapes

ActiveWindow.View.GotoSlide oSl.SlideIndex
    If oSh.Type = msoEmbeddedOLEObject Then
          oSh.OLEFormat.Activate
              With oSh.OLEFormat.Object

            .Application.Workbooks(1).Worksheets(1).Cells.Copy
           .Application.Workbooks(1).Worksheets(1).Cells.PasteSpecial Paste:=xlPasteValues


             End With


        ActiveWindow.Selection.Unselect
        ActiveWindow.View.GotoSlide oSl.SlideIndex

    End If

Next

Próximo final sub

Foi útil?

Solução

Atualizado/editado...pule a linha de atualização do aplicativo e tente assim:

If oSh.Type = msoEmbeddedOLEObject Then
    With oSh.OLEFormat.Object   ' added .Object here
        .Activate
        .Application.workbooks(1).worksheets(2).Cells.Copy
        .Application.workbooks(1).worksheets(2).Cells.PasteSpecial Paste:=xlPasteValues
    End With
End if

Primeiro, defina uma constante lxPasteValues ​​As Long = -4163 ou substitua xlPasteValues ​​por -4163 no código acima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top