2010-12-20 15 views
0

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 

私は任意のヘルプ/回避策を感謝しています。

+1

'HandlerApplication'何ですか? –

+0

まったく無関係で、アプリケーションを設定します。 Public Sub create(アプリケーションとしてのオブジェクトの登録) アプリケーションの設定= objApplication End Sub – CodeWeasel

答えて

0

代わりにshapeToCopy.Duplicateを試してください。

関連する問題