🗂

VBA で画像ファイルの大小を判定してサイズを設定する方法

2022/03/14に公開

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