2010-12-20 2 views
0

VBA 매크로를 PowerPoint 2007에서 2010으로 마이그레이션 한 후 일부 디버깅 및 테스트를 수행 한 결과 하나의 프레젠테이션 다른 사람에게 Windows 7에서만 작동하며 Windows XP에서는 작동하지 않습니다.PowerPoint 2010 매크로는 Windows XP가 아닌 Windows 7에서만 작동합니다 (복사, 붙여 넣기 모양 오류/버그)

프레젠테이션을 닫으면 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) 응용 프로그램을 설정 = objApplication End Sub – CodeWeasel

답변

0

대신 shapeToCopy.Duplicate을 시도하십시오.

관련 문제