Excelの背景画像に合わせてコメントボックスのサイズを自動的に再定義します

Excelの背景画像に合わせてコメントボックスのサイズを自動的に再定義します

Excel で、コメントの背景として、たとえば test.jpeg などの画像を選択したとします。コメント ボックスのサイズを test.jpeg に合わせたいと思います。このようなコメントを何百も作成する予定なので、これを自動化する方法はありますか? という質問です。

答え1

VBAマクロをいじってみました。VBAエディタをALT+で開きF11、以下のコードを貼り付けます。シート1ALT. +でマクロを実行しますF8

マクロの機能

  1. 挿入したい画像へのパスをユーザーに尋ねます(jpg、bmp、png のいずれかになります)

  2. その画像をWIA.imageFile後で、objImage.Heightと を使用してobjImage.Width実際の画像のサイズを取得します。

    この方法は、ピクセル単位で寸法を取得するのに私が見つけた最も短い方法でした(他のVBA方法ではトゥイップそれらは恐ろしい発明です。

  3. 現在選択されているセルに古いコメントが存在しない場合は、空のコメントを挿入します。

  4. 選択した画像をコメント図形の背景画像として設定します

  5. コメントの図形のサイズを変更して、画像がぴったり収まるようにします

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

関連情報