図形を描いてみよう

文字を書いて、消す。繰り返す、条件分岐・・・。ずいぶんたくさんのことができるようになってきました。

次はなにをしましょうか?

文字が書けるようになったら、次は絵が描きたいですよね。ね?ね?描きたいですよね!?

しょうがないなぁ、じゃあ、つぎは絵を描く方法に行きましょうか!

さっそくVBEを開きましょう。
今回のプログラムはこれです。

書きあがったら、さっそく実行しましょう。

できましたね。
そう、これは長方形を描け、の命令だったんですね。

Shapes.AddShape msoShapeRectangle, 50, 50, 100, 200

ちょっとずつ、文が複雑になってきました。

shapesオブジェクトのaddShapeメソッド、引数は5つで、順番に図形の種類、左上の座標、右下の座標、幅、高さとなります。・・・、魔法の呪文に聞こえましたか?

まぁ、最初のShapes.AddShapeは、実際、お決まりの呪文みたいなもんです。図形を描く魔法の呪文だと覚えておけばいいでしょう。次のmsoShapeRectangleは、「長方形」です。ここの言葉を変えることで、描く図形を変えることができます。問題は次の4つの数字です。エクセルの画面には目には見えない、「座標」という、グラフ用紙のマス目のようなものがあります。今見えている、「セル」とは少し意味が違うので、混乱しないようにしましょう。

エクセルのシートの横軸をy座標、縦軸をy座標ということにすると、

左上が(x、y)=(0,0)

ということになっています。

右に行くほど、xの値は大きくなり、下に行くほどyの値は大きくなります。

さっき描いた長方形では、1つ目と2つ目の数字がそれぞれ、左上の頂点のx座標、y座標になります。

3つ目と4つ目の数字は、それぞれ図形の横幅、高さとなります。

これで、形や大きさ、位置を自由に変えられるようになりました。次は・・・、もちろん色ですよね。

エクセルでは、図形を書くときに同時に色を指定するのではなく、一度書いた図形の色を後から変更する、という順番で作業します。
そのためには、色を変えるのはどの図形か、といことをエクセルに教えてあげる必要があるんです。
図形を調べるには、図形を選択した状態で、「オブジェクトの選択と表示」をクリックします。

すると、

このように選択されて表示されたものが、この図形の名前だとわかります。

名前がわかったので、図形を指定して色を変えてみましょう。

プログラムはこんな感じです。

このようになれば成功です。

.Fill.ForeColor.RGB = vbYellow は、「図形の塗りつぶし」の色は黄色だよ、です。以前、文字の色を変えた時にも出てきましたね。

.Line.Weight = 8
.Line.ForeColor.RGB = vbGreen

は、線の色や太さを表しています。これも、自分でいろいろ試してみましょう。

今回はmsoShapeRectangleという、長方形をかく呪文を使いましたが、エクセルにはほかにもたくさんの図形が用意されています。

msoShapeOvalに変えると丸、msoShape5pointStarなら、星形になります。

画像付きの一覧表にまとめておきましたので、いろんな図形を書いてみましょう。

とりあえず、好きな図形を描くことができるようになりました。が、いまのままじゃちょっと問題があるんですよね。てことで、次回はその問題を解決していきます。

次回予告

次回は、図形を描いてみよう(その2)です。いまのままじゃちょっと問題があるんですよね

おたのしみに。