
Excel에서 주석 배경으로 test.jpeg와 같은 이미지를 선택했다고 가정해 보겠습니다. 나는 주석 상자가 test.jpeg의 크기를 갖기를 원합니다. 수백 개의 댓글을 달 계획이므로 내 질문은 다음과 같습니다. 이를 자동화할 수 있는 방법이 있습니까?
답변1
나는 VBA 매크로를 함께 만들었습니다. ALT+를 사용하여 VBA 편집기를 열고 F11아래 코드를 붙여넣습니다.시트1. ALT+ 로 매크로 실행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