【ExcelVBA】アドインにオススメ!貼り付け画像全てに枠線をつけるマクロ

【ExcelVBA】アドインにオススメ!貼り付け画像全てに枠線をつけるマクロ

1.全ての画像に枠線をつけたい!

私はよくエクセルのシートにスクリーンショットで撮影した画像を貼り付けするのですが、貼り付けた後画像を強調させるために、画像に枠線をつけたい場面が多いです。

画像に枠線をつけるためには、[書式]]タブの画像の枠線を選択する必要がありますよね。

デフォルトでは青色になっており、黒色の枠線をつけたい私は、いつも面倒に思っていました。

さらに、全ての貼り付け画像に枠線をつけられたら便利じゃないかということで、簡単なマクロをくんでみました!

ぜひ参考にしてみてください。

2.全ての画像に枠線をつけるマクロ

サンプルコード

Sub MakePicturesLine()
    
    Dim myPc As Picture
    
    For Each myPc In ActiveSheet.Pictures   '画像ごとに繰り返し
    
        myPc.Select
        
        With Selection.ShapeRange.Line      '長いのでwithで省略
            .Visible = msoTrue              '枠線の表示
            .ForeColor.RGB = RGB(0, 0, 0)   '色の指定(黒)
            .Transparency = 0               '透明度の指定
        End With
    
    Next

End Sub

処理概要

コメントにあるように、シート内にある貼り付けられた画像1つずつに枠線の設定を行っています。

※注意点※

画像を操作するための変数に「Picture」オブジェクトを使用しているのは、よく使われている「Shape」オブジェクトだと貼り付け画像だけでなく、図形等も編集されてしまうからです。

(画像を選択し、「Ctrl + A」を押した場合も全ての画像だけでなく、図等も選択されてしまいます。)

使用例

実施前

実施後

貼り付けた画像にのみ、枠線が表示されていますね。

まとめ

ほんの少しの違いですが、Excelでの作業が便利になるかと思います。

ぜひアドインに追加して、積極的に使ってみてください!