PowerPoint 2010 Macro ne fonctionne que sous Windows 7, pas Windows XP, (Copier, Coller erreur Formes / bug)

StackOverflow https://stackoverflow.com/questions/4491046

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.

Était-ce utile?

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
scroll top