🗂
VBA で画像ファイルの大小を判定してサイズを設定する方法
TL;DR
'NOTE: imagePath = イメージファイルのパス
Dim shape As shape
Set shape = ActiveSheet.Shapes.AddPicture(Filename:=imagePath, LinkToFile:=False, SaveWithDocument:=True, Left:=Selection.Left, Top:=Selection.Top, width:=-1, height:=-1)
shape.LockAspectRatio = msoTrue
pHeight = shape.height
pWidth = shape.width
maxHeightScale = 9
maxWidthScale = 16
If pHeight > pWidth Then
'NOTE: すべてのセルの高さと幅が同じ前提
shape.height = Cells(1, 1).height * maxHeightScale
Else
shape.width = Cells(1, 1).width * maxWidthScale
End If
Discussion