gpt4 book ai didi

vba - PowerPoint VBA - 特殊粘贴(增强型图元文件)错误

转载 作者:行者123 更新时间:2023-12-01 01:33:40 28 4
gpt4 key购买 nike

我在 PowerPoint 2003 SP3 中使用宏在 Excel 工作簿中查找指定图表,将其复制,然后将其作为增强型元文件粘贴到当前幻灯片中,最终使用以下代码行:

Application.ActiveWindow.View.PasteSpecial DataType:=ppPasteEnhancedMetafile

只要它有效,我也会收到以下错误:
Run-time error '-2147188160 (80048240)':View (unknown member) : Invalid request. The specified data type is unavailable.

If I end the macro and attempt to manually Paste Special as Enhanced Metafile, I have no problem, so it's not as though the clipboard object or the pastespecialtype is invalid.

Has anyone else experienced this? Do you have a solution or a workaround? There are few results and no solutions in a Google search on this error.


Update

The general code is as follows:

Set presPPTCurrent = ActivePresentation
Set objXLApp = GetObject(, "Excel.Application")

''#Find the target chart and copy it to the clipboard
With objXLApp
''#This part works - if I go to Excel, I can see that the chart is copied
End With

''#Now paste in the chart as an Enhanced Metafile
presPPTCurrent.Application.Activate
Application.ActiveWindow.View.PasteSpecial DataType:=ppPasteEnhancedMetafile

请注意,这是在传递 Shape 的 Sub 中(传递的 Shape 用作在 Excel 中查找图表的引用)。我已经意识到,当我尝试在从另一个 Sub 中的 For Next 循环传递的多个形状上重用这个 sub 时,它只会出现错误。

但是,如果我通过另一个 Sub 将单个 Shape 传递给这个 Sub,然后重新运行传递多个 Shape 的 Sub,它运行良好。

解决方案

根据 Otaku 的说法,宏正在失去对幻灯片 Pane 的关注。告诉它重新选择滑动 Pane 解决了这个问题。
Application.ActiveWindow.Panes(2).Activate

最佳答案

这可能是因为在 Excel 和 PowerPoint 之间切换导致 PowerPoint 失去焦点,因此没有 ActiveWindow 供 PowerPoint 粘贴到或 ActiveWindow 在 PowerPoint 中变为不同的 Pane,例如幻灯片浏览或备注 Pane .

关于vba - PowerPoint VBA - 特殊粘贴(增强型图元文件)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3260717/

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