使用 VBA 将 MS Excel 中的单元格范围粘贴到 MS PowerPoint 中

Pasting cell range from MS Excel into MS PowerPoint using VBA

我正在使用以下代码将 Excel 中的单元格范围作为图像粘贴到 PowerPoint 中。

xlApp.Worksheets(5).Range("B2:D9").Copy
Set shp1 = ActivePresentation.Slides(4).Shapes.PasteSpecial(ppPasteEnhancedMetafile)(1)

With shp1
' Set position:
.Left = 22
.Top = 95
' Set size:
.Height = 250
.Width = 280
End With

但是图像没有按照定义的大小粘贴,即高度 250 和宽度 280。根据我的理解,它在粘贴时考虑了图像的纵横比并且不会扭曲图像。但我不想那样。我只希望它覆盖 PowerPoint 上我想要的整个区域。

您需要在设置宽度和高度之前关闭纵横比参数

With shp1
' Set position:
.Left = 22
.Top = 95
' Set size:
.LockAspectRatio = msoFalse
.Height = 250
.Width = 280
End With