Andresはクリップボードに写真を持っています。彼は、選択したセルについて、写真をコメントに入れたいと考えています。セルにコメントがない場合は、コメントを作成する必要があります。すでにコメントがある場合は、画像を追加する必要があります。 Andresは、これにはマクロが必要であることを知っていますが、マクロ内のコメントを操作して必要なことを実行する方法がわかりません。

Microsoftは、最新のOffice 365バージョンで、_comments_を_notes_と呼ぶようになりました。ただし、このヒントでは、引き続き従来の_comments_名でそれらを参照します。

アンドレスがやりたいことは、望むほど簡単なことではありません。最初の問題は、コメント用の画像のソースとしてクリップボードを使用する方法がVBAにないように思われることです。ソースをファイル内の画像に変更することでこれを回避できます。つまり、マクロでユーザーが画像ファイルを選択してコメントに配置できるようにすることができます。

Sub AddCommentPicture()

Dim PicChoice As Variant

If ActiveCell.Comment Is Nothing Then         ActiveCell.AddComment     End If     PicChoice = Application.GetOpenFilename("JPEGs .jpg,.jpg")



If PicChoice = False Then         MsgBox "No file was selected."

Else         ActiveCell.Comment.Shape.Fill.UserPicture PicChoice         ActiveCell.Comment.Shape.LockAspectRatio = True     End If End Sub

マクロはアクティブセルをテストして、コメントがあるかどうかを確認します。そうでない場合は、1つ追加します。次に、JPGファイルのみを表示する[開く]ダイアログボックスが表示されます。 (GetOpenFilename関数のパラメーターを変更して、表示するファイルのタイプを指定できます。)次に、選択したファイルがコメントに割り当てられます。

コードは画像のサイズを変更するために何もしないことに注意してください。必要に応じて、サイズ変更に必要なコードを追加できます。そのコードは、画像のアスペクト比をロックする行の直後、マクロの終わり近くに追加する必要があります。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(5489)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。