VBAマクロをPowerPoint 2007から2010に移行し、デバッグとテストを行った後、 Windows XPではなくWindows 7でのみ動作します。PowerPoint 2010マクロは、Windows XPではなく、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'何ですか? –
まったく無関係で、アプリケーションを設定します。 Public Sub create(アプリケーションとしてのオブジェクトの登録) アプリケーションの設定= objApplication End Sub – CodeWeasel