
Excel で、コメントの背景として、たとえば test.jpeg などの画像を選択したとします。コメント ボックスのサイズを test.jpeg に合わせたいと思います。このようなコメントを何百も作成する予定なので、これを自動化する方法はありますか? という質問です。
答え1
VBAマクロをいじってみました。VBAエディタをALT+で開きF11、以下のコードを貼り付けます。シート1ALT. +でマクロを実行しますF8
マクロの機能
挿入したい画像へのパスをユーザーに尋ねます(jpg、bmp、png のいずれかになります)
その画像を
WIA.imageFile
後で、objImage.Height
と を使用してobjImage.Width
実際の画像のサイズを取得します。この方法は、ピクセル単位で寸法を取得するのに私が見つけた最も短い方法でした(他のVBA方法ではトゥイップそれらは恐ろしい発明です。
現在選択されているセルに古いコメントが存在しない場合は、空のコメントを挿入します。
選択した画像をコメント図形の背景画像として設定します
コメントの図形のサイズを変更して、画像がぴったり収まるようにします
Sub InsertComment()
Dim strImagePath As Variant
Dim objImage As Object
strImagePath = Application.GetOpenFilename("Picture, *.jpg; *.png; *.bmp")
If strImagePath = False Then Exit Sub
Set objImage = CreateObject("WIA.ImageFile")
objImage.LoadFile strImagePath
With ActiveCell
If .Comment Is Nothing Then .AddComment ("")
.Comment.Shape.Fill.UserPicture strImagePath
.Comment.Shape.Height = objImage.Height * 0.75
.Comment.Shape.Width = objImage.Width * 0.75
End With
End Sub