我將PowerPoint 2007中的VBA宏遷移到2010年,經過一些調試和測試後,我發現從一個演示文稿到另一個只能在Windows 7下運行,而不能在Windows XP下運行。PowerPoint 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
我感謝所有幫助/解決方法。
是什麼'HandlerApplication'? – 2010-12-21 23:52:57
相當無關緊要,它設置了應用程序。 Public Sub create(objApplication As Application) Set Application = objApplication End Sub – CodeWeasel 2010-12-22 15:38:59