Макрос PowerPoint 2010 работает только под Windows 7, а не под Windows XP (ошибка копирования / вставки фигур / ошибка) - PullRequest
0 голосов
/ 20 декабря 2010

Я перенес макрос VBA из PowerPoint 2007 в 2010, и после некоторой отладки и тестирования я обнаружил, что копирование фигур из одной презентации в другую работает только в Windows 7, а не в Windows XP.

Когда я закрываю презентацию, из которой скопировал форму, в Windows XP новый объект очищается. В Windows 7 объект все еще существует.

Я сделал пример:

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

Я ценю любую помощь / обходной путь.

Ответы [ 2 ]

1 голос
/ 10 января 2011

Проблема заключалась в ошибке в Office 2010 и была исправлена ​​в этом исправлении: http://support.microsoft.com/kb/2345341

0 голосов
/ 08 января 2011

Попробуйте shapeToCopy.Duplicate вместо.

...