gpt4 book ai didi

excel - 将调整大小的图片从 Excel 导出到 PowerPoint 2010

转载 作者:行者123 更新时间:2023-12-01 16:09:37 25 4
gpt4 key购买 nike

我创建了一个将图片从 Excel 复制到新的 PowerPoint 演示文稿的代码。该代码适用于 MS Office 2016,但 不是 MS Office 2010。特别是导出到 PowerPoint 的图片将不会在 .pptx 中调整大小2010 年。

我怎样才能解决这个问题?

这是在 MS 2010 中不起作用的有问题的代码:

    Application.Goto Reference:="Full_Account_Performance"
Application.CutCopyMode = False
Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture

PPPres.Slides(x).Shapes.PasteSpecial

On Error Resume Next
With PPApp.ActiveWindow.Selection.ShapeRange
.ScaleHeight 0.435, msoFalse, msoScaleFromTopLeft
'Powerpoint 2010 ingnors it... but in 2016 it is fine
.Left = 10
.Top = 55
End With

最佳答案

在 PowerPoint 2010 中,使用 Shapes.PasteSpecial 粘贴图片后,有时会跳过行。命令(它们不会被跳过,只是代码在完成粘贴图片之前运行它们)。

有一种变通方法,您可以添加一秒钟的延迟,然后代码将起作用(不会跳过下面的行)。

下面的代码将设置 Object到PowerPoint中粘贴的图片,稍后修改myShape特性。

备注 : 下面的代码使用 后期装订 , 但它也适用于 早期装订 .

代码

Dim PPPres                              As Object
Dim PPSlide As Object
Dim myShape As Object

' set the slide object - x is the slide number
Set PPSlide = PPPres.Slides(x)

' Set an Object to the Pasted PowerPoint picture
Set myShape = PPSlide.Shapes.PasteSpecial(0, msoFalse) ' ppPasteDefault = 0
With myShape
' it skips the lines below, add a delay
Application.Wait Now + TimeValue("00:00:01")

.ScaleHeight 0.435, msoFalse, msoScaleFromTopLeft
.Left = 10
.Top = 55
End With

关于excel - 将调整大小的图片从 Excel 导出到 PowerPoint 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42735008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com