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
ヘルプ/回避策に感謝します。