PowerPoint 2010 Macro ne fonctionne que sous Windows 7, pas Windows XP, (Copier, Coller erreur Formes / bug)
-
11-10-2019 - |
Question
Je migré une macro VBA à partir de PowerPoint 2007 à 2010, après un certain débogage et le test j'ai découvert que la copie des formes d'une présentation à l'autre ne fonctionne que sous Windows 7 et non sous Windows XP.
Quand je ferme la présentation que je copiais la forme de, sous Windows XP, le nouvel objet est vidé. Dans Windows 7 l'objet existe toujours.
J'ai fait un exemple:
Public Sub test()
Dim HandlerApplication As New HandlerApplication
Dim slide As slide
HandlerApplication.create Application
Set slide = ActiveWindow.Selection.SlideRange(1)
Dim ppt As Presentation
Dim shapeToCopy As shape
Dim copiedShape As shape
Dim strTemplateFile As String
strTemplateFile = "SlideTemplate.pptx"
Set ppt = Application.Presentations.Open(BuildPath(ComponentsPath, strTemplateFile), msoTrue, msoFalse, msoFalse)
Set shapeToCopy = ppt.slides(7).shapes(1)
shapeToCopy.Copy
Set copiedShape = slide.shapes.PasteSpecial(ppPasteShape)(1)
ppt.Close
copiedShape.Name = "TestName"
End Sub
Je vous remercie de toute aide / solution.
La solution
Le problème est un bogue dans Office 2010 et a été corrigé dans ce correctif: http: // support. microsoft.com/kb/2345341
Autres conseils
Essayez shapeToCopy.Duplicate
à la place.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow