PowerPoint VBA pour casser des liens dans Oleformat Object
-
13-12-2019 - |
Question
J'ai une glissière PowerPoint 2007 avec deux objets Excel incorporés. Je veux accéder à l'onglet Stade1 et casser tous les liens. J'essayais de copier et de coller de la valeur, mais je suis coincé, bien que le code fonctionne, cela ne fait rien. Toute aide est grandement appréciée.
DIM OSL comme diapositive Dim Osheet comme objet Dim PPApp comme PowerPoint.Application Dim Pppres comme PowerPoint.PRESENTATION
pour chaque OSL dans ActivePresentation.Slides Pour chaque SST dans 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
Suivant Fin sous
La solution
Mise à jour / édité ... Ignorer la ligne de mise à jour de l'application, essayez de le dire à la place:
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
Premièrement, définissez une constante LXpastevalues comme longue= -4163 ou remplacez XLPastevalues avec -4163 dans le code ci-dessus.