オブジェクトをクリップボードへピクチャ(画像)としてコピー(CopyPicture メソッド)
オブジェクトをクリップボードへピクチャ(画像)としてコピー
指定したオブジェクトをクリップボードに画像としてコピーするには、CopyPicture メソッドを使います。
【書式】
object.CopyPicture ( [ apperance, format, size ] )
引数・戻り値
- object ・・・ 対象となる Chart オブジェクト、ChartObject オブジェクト、OLEObject オブジェクト、Range オブジェクト、Shape オブジェクトを指定します。
- apperance ・・・ ピクチャのコピー形式を表す XlPictureAppearance 列挙型 の定数またはその値を指定します(省略可)。
定数 値 内容 xlScreen 1 画面表示に近い形式(既定値) xlPrinter 2 印刷時と同じ形式 - format ・・・ コピーする画像の形式を表す XlCopyPictureFormat 列挙型 の定数またはその値を指定します(省略可)。
定数 値 内容 xlPicture -4147 ドロー画像(.png, .wmf, .mix)既定値 xlBitmap 2 ビットマップ形式(.bmp, .jpg, .gif) - size ・・・ グラフシートが対象(Chart オブジェクト)のときのみ指定することができます。ピクチャのコピーサイズを表す XlPictureAppearance 列挙型 の定数またはその値を指定します(省略可)。
定数 値 内容 xlScreen 1 画面表示と同じ大きさでコピー(既定値) xlPrinter 2 印刷時と同じ大きさでコピー
ビットマップ形式で画像をコピーすると、画像のファイルサイズが大きくなります。
CopyPicture メソッド 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Sub Sample_CopyPicture1() Dim ch As Chart Set ch = Sheets("Graph1") 'A1 から E6 の表をクリップボードにコピー Worksheets("Sheet1").Range("A1:E6").CopyPicture appearance:=xlScreen, Format:=xlPicture 'Sheet2 にクリップボードの内容を貼り付け Worksheets("Sheet2").Paste Range("B2") 'グラフシートをクリップボードにコピー ch.CopyPicture appearance:=xlScreen, Format:=xlPicture, Size:=xlScreen 'Sheet2 にクリップボードの内容を貼り付け Worksheets("Sheet2").Paste Range("B8") Set ch = Nothing Worksheets("Sheet2").Select ActiveWindow.Zoom = 60 End Sub |
実行結果
実行前(Sheet1)
実行前(Graph1)
実行後(Sheet2)
関連記事
-
マクロを中断する(Stop ステートメント)
マクロを中断しデバッグモードにする マクロの実行をを中断し、デバッグモードにする …
-
切り取りモード、コピーモードの取得・解除(CutCopyMode プロパティ)
切り取りモード、コピーモードの取得と設定 CutCopyMode プロパティ を …
-
確認メッセージの表示・非表示(DisplayAlerts プロパティ)
警告や確認メッセージの表示・非表示を設定 マクロ実行中に、警告や確認メッセージの …
-
ウィンドウの画面を構成する各要素の表示設定
ウィンドウの画面を構成する各要素の表示設定 DisplayWorkbookTab …
-
実行中のマクロを指定時刻まで停止する(Wait メソッド)
実行中のマクロを一時停止 Wait メソッドで、実行中のマクロを、指定した時刻ま …
-
マクロを中断する(Assert メソッド)
マクロを中断しデバッグモードにする Debug オブジェクト の Assert …
-
マウスポインタの形状の取得・変更(Cursor プロパティ)
マウスポインタの形状の取得・変更 Excel のマウスポインタの形状を設定したり …
-
イミディエイトウィンドウに出力(Debug.Print メソッド)
イミディエイトウィンドウに出力 マクロ実行中に、Debug オブジェクト の P …