VBA 从 Excel 粘贴到 PowerPoint 已停止工作

问题描述 投票:0回答:1

所附代码在本周之前一直有效。现在,我收到“形状(未知成员):到达 PasteSpecial 行时出现无效请求错误。我已经检查过,我要粘贴的图表位于剪贴板上,我可以将其直接从剪贴板粘贴到幻灯片中。这是来自 Access 数据库的代码,该数据库正在使用 Excel 电子表格中的图表构建 PowerPoint 演示文稿。使用 Microsoft® Access® for Microsoft 365 MSO(版本 2402 内部版本 16.0.17328.20124)64 位。

Set wb1Sheet = wb1WB.Sheets(1)
wb1Sheet.Activate
Set wb1ChartObj = wb1Sheet.ChartObjects(t)
wb1ChartObj.Activate
Set wbChart = wb1ChartObj.Chart
wbChart.ChartArea.Copy
activeSlide.Shapes.PasteSpecial (ppPasteMetafilePicture)
activeSlide.Shapes(1).TextFrame.TextRange.Text = nAme7
activeSlide.Shapes(4).Left = 12 
activeSlide.Shapes(4).Top = 194 
activeSlide.Shapes(4).Width = 339

我已经搜索了任何答案,但找不到它不再工作的原因。我已经保存了可以工作的旧版本,但它们也不再工作了。

excel vba ms-access powerpoint
1个回答
0
投票

我猜这可能是一个时间问题。复制后、粘贴前尝试将宏暂停几秒钟。因此,例如,首先将以下过程添加到您的模块中...

Sub PauseMacro1(ByVal secs As Long)

    Dim endTime As Single
    endTime = Timer + secs
    
    Do
        DoEvents
    Loop Until Timer > endTime
    
End Sub

然后尝试...

'
'
'

wbChart.ChartArea.Copy

PauseMacro 3 'seconds

activeSlide.shapes.PasteSpecial ppPasteMetafilePicture

'
'
'
© www.soinside.com 2019 - 2024. All rights reserved.