12.1 オートシェイプ(図形)や画像を操作する
ワークシート上のオートシェイプ(図形)や画像は、
Shapes
オブジェクトまたは
Shapes
コレクションを使って操作します。
Shapesオブジェクト
ワークシート上のオートシェイプや画像を操作するときは、
Shapes
コレクションを使います。Shapesコレクション内でのオートシェイプや図形の格納順序は、ワークシートに追加した順です。
図1:Shapesコレクションの書式
シート
.
Shapes(
対象
)
.
機能
・
対象
操作対象のオートシェイプや画像を、番号もしくは名称で指定します。
番号指定時の先頭の要素番号は 1です。0も指定できますが、1と同じ内容です。
・
機能
プロパティやメソッド、書式のオブジェクトなど、操作内容を記述します。
【記述例】Sheet1のオートシェイプ「四角形 1」を削除する。
Sheet1.
Shapes("四角形 1")
.Delete
また、
Shapes
オブジェクトを使うと、ワークシート上にオートシェイプや画像を追加する・個数を調べるといった操作が行えます。オートシェイプや画像の追加メソッドを実行したときは、戻り値に追加したオートシェイプや画像の情報(Shapeオブジェクト)が返ります。
図2:Shapesオブジェクトの書式
Shapes
.
機能
・
機能
プロパティやメソッドを記述します。
【記述例】Sheet1に四角形を追加し、その内容を変数「oBox」に保存する。
Dim oBox As Shepe
Set oBox = Sheet1.
Shapes.AddShape
(msoShapeRectangle, 100, 100, 128, 192)
【使用例1】シート上のオートシェイプを操作する
ワークシート上の既存のオートシェイプの大きさを変更する事例です。Shapesコレクションに操作対象のオートシェイプ「四角形 1」を指定し、Widthプロパティへ幅を、Heightプロパティへ高さを設定しています。
なお、WidthとHeightに指定する値の単位はポイントです。
Sub ShapeSample()
With ActiveSheet.
Shapes
("四角形 1")
.Width = 50
.Height = 100
End With
End Sub
【使用例2】オートシェイプの個数を調べる
ワークシート上に、オートシェイプや図形がいくつあるかを調べる事例です。オートシェイプや図形の数は、
Shapes
オブジェクトのCountプロパティに保存されています。
なお、ワークシート上にオートシェイプを追加する事例は、「
ワークシートに新しいオートシェイプ(図形)を追加する
」を参照してください。
Sub ShapeSample2()
MsgBox ActiveSheet.
Shapes
.Count & " 個あります" _
, vbOKOnly + vbInformation _
, "オートシェイプの個数"
End Sub
エクセルマクロTips
オートシェイプ(図形)操作編
1.オートシェイプ(図形)や画像を操作する
・Shapesオブジェクト、Shapesコレクション
2.ワークシートに新しいオートシェイプを追加する
・AddShapeメソッド
3.ワークシート上のオートシェイプを削除する
・Deleteメソッド
4.オートシェイプの位置や大きさを変更する
・Left、Top、Width、Heightの各プロパティ
5.オートシェイプを表示する・表示しない
・Visibleプロパティ
6.オートシェイプを回転させる
・Rotationプロパティ
・IncrementRotationプロパティ
7.オートシェイプを左右・上下に反転する
・Flipメソッド
8 オートシェイプの表示優先度を上げ下げする
・ZOrderメソッド
・ZOrderPositionプロパティ
9 オートシェイプの塗りつぶし色を設定する
・Fill.ForeColorプロパティ、Fill.Visibleプロパティ
・Fill.Solidメソッド
10 オートシェイプの塗りつぶし部分を透明にする
・Fill.Transparencyプロパティ
11 オートシェイプのの塗りつぶしパターンと色を設定する
・Fill.Patternedメソッド
・Fill.BackColorプロパティ
12 オートシェイプに影を付ける
・Shadow.Typeプロパティ
・Shadow.Visibleプロパティ
13 オートシェイプの影の色と透過を設定する
・Shadow.ForeColorプロパティ
・Shadow.Transparencyプロパティ
14 オートシェイプの影の位置を設定/調整する
・Shadow.OffsetXとShadow.OffsetYプロパティ
・Shadow.IncrementOffsetXメソッド
・Shadow.IncrementOffsetYメソッド
15 オートシェイプ(図形)の影をぼかす
・Shadow.Blurプロパティ
■ブック・シート操作編
■セル・行・列操作編
■セル検索編
■Applicationオブジェクト・イベント編
■オートシェイプ操作編
■グラフ操作編
■応用技・その他編
■サイト内を検索
Happy! Happy! Islandその他のコンテンツ
■
VBAプログラミング系
Access VBAのTipsとサンプル
Excel VBA(エクセルマクロ)のTipsとサンプル
VBScript/JScriptのTipsとサンプル
プログラミング基礎・入門
■
入門と使い方
Access入門と使い方講座97~2003/2007/2010/2013
Access VBAプログラミング入門 2013/2010/2007/2003
Excel入門と使い方講座2013/2010/2007
■
ダウンロードコーナー
AccessとExcelのフリーソフト
■
その他
質問受け付けコーナー「管理人に聞いてみよう♪」
BBS過去ログ広場
HTMLの書き方
管理人プロフィール
┗
twitter(外部サイト)
管理人へメール
■
別館(海外向けサイト)
Excel Games and Access Games
VBAプログラミング&Tips集の
"Happy! Happy! Island"トップページへ
[PR]管理人が心を込めて書いた本
■
最速攻略 AccessVBAサンプル大全集
Access 2013/2010/2007対応版
■
速効!ビジネスPC Accessマクロ&VBA
Access2013/2010/2007対応
■
最速攻略Accessクエリ テクニック大全集
Access2013/2010/2007対応
■
AccessVBAマクロ超入門講座 Access2010/2007対応
■
ExcelVBA超入門講座 Excel2010/2007対応
■
ExcelVBAでできる RPGゲーム作成入門
■
[改訂新版]実践COBOLプログラミング入門
■
最速攻略 VBScriptサンプル大全集
Windows7/Vista/XP/2000対応
(
アマゾン
へジャンプします)
[PR]注目の情報
転職成功の秘訣はサイトに公開されない求人にあった
採用人数が少ない・専門性が高い・競合他社に知られたくないなど、魅力的な求人情報ほど一般には公開できないのです。
株デビューするなら SBI証券!
業界屈指の格安手数料と業界最高水準のサービスで口座数はネット証券 No.1!口座開設料・管理料は無料。
GDOゴルフショップ
ゴルフ用品のオンラインメガストア。品揃え10万点!
アスタリフトコラーゲンドリンク
毎日続けるものだから・・まとめ買いで最大10%OFF!集中コラーゲンケアで、ハリと潤いの溢れる毎日へ。
[リンク]IT関連情報サイトなど
gihyo.jp
技術評論社提供のIT関連コンテンツサイト
Copyright(C) 1999-2015
結城圭介
(Ver.3.51) All rights reserved