PowerPoint VBA para quebrar links no objeto OLEFormat
-
13-12-2019 - |
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
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