Excel VBA 3行マクロ~23回 大きな挿入画像を縮小するマクロ

大きな挿入画像を縮小するマクロ

大きな画像を縮小するマクロ

3行マクロ 23回

大きな挿入画像を縮小するマクロ

デジカメ画像などをExcelのシートに挿入して利用する時に、困るのがその大きさ。たとえ縮小してあってもそれでも大きかったりするからです。画像を適度の大きさにするために、毎回縮小しているなら、この作業をマクロにすると簡単です。
(サンプルファイルは、こちらから 3行マクロ23回サンプルデータ
Excelバージョン:Excel20192016201320102007

大きな挿入画像を縮小するマクロ

マクロの記録で作成します。予め画像をシートに挿入しておき、選択してからマクロの記録を開始します。
画像縮小マクロ1
マクロに名前をつけて、保存先は、個人用マクロブックにします。
画像縮小マクロ2
次に、図ツール書式タブにある、サイズグループの右下の矢印をクリックします。
画像縮小マクロ3
図の書式設定が、シートの右側から現れました。今回は、挿入画像の表示に幅7cmと指定し、縦横比を固定するにチェックを入れました。
大きな画像を縮小4
これでマクロの記録を終了します。
画像縮小マクロ
Visual Basic Editorを開いて、コードを確認しましょう。
Selection.ShapeRange.LockAspectRatio = msoTrue
縦横比を固定する
Selection.ShapeRange.Width = 198.4251968504
幅を198.425ポイントにする(約7cm)
大きな画像を縮小5
このコードには、無駄な部分がないので、このまま汎用的に利用できます。
コードです。

Sub 画像縮小()
    Selection.ShapeRange.Width = 198.4251968504
    Selection.ShapeRange.LockAspectRatio = msoTrue
End Sub
図形を選択すると、ShapeRange オブジェクトと記載されます。ShapeRange オブジェクトは、図形範囲を表します。

画像の縮小サイズを変更する

Excelの画像は72dpiで表示した場合のサイズになります。72dpiとは、1インチに72個のドットがあるという意味になります。そこで1㎝に換算すると、28.34646となります。
そこで、5cmに縮小したい場合のコードは、
Sub 画像縮小5cm()
'1cmは28.34646
    Selection.ShapeRange.Width = 28.34646 * 5
    Selection.ShapeRange.LockAspectRatio = msoTrue
End Sub
こちらは、5cmと7cmに縮小した画像です。
今回は、幅と縦横比だけ設定しましたが、それぞれの用途に応じて、高さを指定したり、両方を指定したりして独自のマクロにしてください。

今日の講義は以上です。お疲れ様でした。

こちらもおすすめ