Excelでコメントに画像を追加するマクロ

タイトル通りExcelネタ。最近こればっかりだな。

以下の画像の様に、Excelのセルに画像のコメント追加するマクロを作成したので今回はそのエントリー。
Excel_commentadd_image



ネットで「Excel コメント 画像」って検索すればやり方自体はすぐわかると思う。
NEC LAVIE公式サイト > サービス&サポート > Q&A > 情報番号 012825



手順としては
「コメントの挿入」
→コメント枠の境界線を右クリック、「コメントの書式設定」
→「色と線」タブをクリック、「塗りつぶし」欄から「色」の▼をクリック、「塗りつぶし効果」をクリック。
→「図」タブをクリック、「図の選択」ボタンをクリック。
→コメントに表示する図を選択(クリック)、「挿入」ボタンをクリック。
→「OK」ボタンをクリック。


いやいや、手数が多すぎるし、コメント枠の境界線クリックが地味にシビア。
個人的には必要な時に画像がパッと表示されて便利な機能と思っているが、周りで使う人は皆無。
使う人おらんからなのか、面倒だから使わないのか?にわとり卵理論なやつ。
そもそもフォントにしろ、背景にしろデフォルトの設定がダサダサでMicrosoftが力入れていない感がすごい。


本題からそれたが、それならマクロでワンクリックで実行できるようにしてやった。
考え方はコメントにしても、オートシェイプ?図形と同じで.Comment.Shape.Selectで選択状態にして、.ShapeRange.Fillで画像を埋め込む。
以下がそのコード。

Sub test()

  Dim Pic
  Dim TTL, PicType

    With ActiveCell
        .ClearComments
        .AddComment
        .Comment.Visible = True
        .Comment.Shape.Select True
    End With

    TTL = "挿入する画像を選択"
    PicType = "画像ファイル,*.jpg;*.bmp;*.png;*.gif," & _
            "jpgファイル,*.jpg,bmpファイル,*.bmp,pngファイル," & _
            "*.png,gifファイル,*.gif"
    Pic = Application.GetOpenFilename(PicType, , _
                                "挿入する画像を選択", , False)
  On Error GoTo Er
  
Selection.ShapeRange.Fill.UserPicture Pic

Er: On Error GoTo 0

    ActiveCell.Comment.Visible = False

End Sub

ところどころyahoo知恵袋さんに教えて頂きました。ありがとうございます。
マクロ記録で記録できない内容をどう書くか、少しずつではあるけどわかってきた。
まだまだ調べながらだが、やりたいことができるようになってきて嬉しい。

追記 2020/06/28
私のExcel師匠の田中先生のサイトoffice TANAKAにすでに記事があった。
しかも画像サイズに関する修正も含めた上位互換。


以上