Макрос PowerPoint 2010 работает только под управлением Windows 7, а не Windows XP (ошибка копирования, вставки фигур)
-
11-10-2019 - |
Вопрос
Я перенес макрос 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
вместо.
Не связан с StackOverflow