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

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

Вопрос

Я перенес макрос 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

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

Это было полезно?

Решение

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

Другие советы

Пытаться shapeToCopy.Duplicate вместо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top