2009-03-26 3 views
4

소개가 제공 응용 프로그램 정의 오류

난 내가 해보 상관없이 엑셀 2007에서 작동하지 않으려면하여 ChartObjects.CopyPicture 방법을 얻을 수없는 것 오류.

이 기술을 사용하면 CopyPicture 줄에 '응용 프로그램 정의 또는 개체 정의 오류'가 발생합니다.

ActiveSheet.ChartObjects.CopyPicture Appearance:=xlScreen, Format:=xlPicture 
Sheets("Sheet2").Paste 

이 방법은 내가 작동 Shape 객체로 차트를 사용하는 경우, 그러나 PasteSpecial 라인

ActiveSheet.ChartObjects.Copy  
Sheets("Sheet2").PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False 

에 '워크 시트 클래스의 PasteSpecial 방법은 실패'로 던졌습니다.

ActiveSheet.Shapes("Chart 6").CopyPicture Appearance:=xlScreen, Format:=xlPicture 
Sheets("Sheet2").Paste 

이 또한

ActiveSheet.Shapes("Chart 6").Copy 
Sheets("Sheet2").PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False 

문제

내 문제는 내가 그룹으로 여러 차트를 복사 할 때이 오류가 발생한다는 것입니다 작동합니다.

Shapes 개체의 Range 속성을 사용하려고했지만 사용할 수있는 CopyPicture 메서드가 없습니다. 이 해결 방법을 생각해 냈지만 CopyPicture를 시도 할 때와 같은 메시지가 표시되어 실패했습니다.

ActiveSheet.Shapes.Range(Array("Chart 5", "Chart 6")).Select 
Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture 
Sheets("Sheet2").Paste 

그리고 반대로이 중

ActiveSheet.Shapes.Range(Array("Chart 5", "Chart 6")).Select 
Selection.Copy 
Sheets("Sheet2").PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False 
+0

이 스크립트를 사용하면 xlPicture에 "유효하지 않은 한정어"가 표시됩니다. 도움을 받으십시오. –

답변

3

이 문제는 오랫동안 나를 미치게되었습니다 작동하지 않았다. 나는 마침내 해결할 수있는 해결책을 찾았습니다. 희망이 있으면 미래에 다른 사람을 도울 것입니다.

기본적으로 차트는 단일 셰이프 개체로 차트를 그룹화 한 다음 해당 셰이프에 대해 CopyPicture를 실행 한 다음 완료되면 그룹 해제합니다.

With ActiveSheet.ChartObjects.ShapeRange.Group 
    .CopyPicture Appearance:=xlScreen, Format:=xlPicture 
    .Ungroup 
End With 

Sheets("Sheet2").Paste 
관련 문제