2009-03-26 27 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 
関連する問題