ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

エクセルのマクロで図形を操作する(2) – 作成したオートシェイプには番号がついている

leave a comment »

エクセルのシート上に作成されたオートシェイプは連番で管理されている。たとえば次のようなマクロを作って実行する。結果はこんな具合だ。

Sub smaile()
ActiveSheet.Shapes.AddShape msoShapeSmileyFace, 10, 20, 100, 100
ActiveSheet.Shapes.AddShape msoShapeSmileyFace, 120, 20, 100, 100
Sheet1.Shapes(1).IncrementRotation (-10)
Sheet1.Shapes(2).IncrementRotation (10)
Sheet1.Shapes(1).Adjustments.Item(1) = 0.5
End Sub

excel_macro_001 
(Fig.1 マクロによって作成した2つのオートシェイプ)

ここでは2つのオートシェイプを作っているが、それぞれ作成された順番でShapes(1)、Shapes(2)という連番で管理されている。最初に作成したオートシェイプは図の左側のもので、こちらはShapes(1)、次に作成したオートシェイプが右側で、Shapes(2)である。Shapes(1)を左に10度(つまりマイナス10度)回転させ、Shapes(2)を右に10度回転させる、そして右側のShapes(1)については、Adjustment.Itemの値を変えて変形している。

Written by Yoshio Matsumoto

2010年7月18日 @ 9:16 AM

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。