PowerPoint 2010 Macro funziona solo sotto Windows 7, non è Windows XP, (Copia, Incolla errore forme / bug)

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

Domanda

I migrato una macro VBA da PowerPoint 2007 al 2010 e dopo un po 'il debug e test ho scoperto che la copia di forme da una presentazione all'altra funziona solo sotto Windows 7 e non sotto Windows XP.

Quando chiudo la presentazione ho copiato la forma da, in Windows XP, il nuovo oggetto viene svuotato. In Windows 7 l'oggetto esiste ancora.

ho fatto un esempio:

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

Apprezzo tutto l'aiuto / soluzione.

È stato utile?

Soluzione

Il problema era un bug in Office 2010 e è stato risolto in questa correzione: http: // support. microsoft.com/kb/2345341

Altri suggerimenti

Prova shapeToCopy.Duplicate invece.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top