【发布时间】:2013-03-14 23:47:56
【问题描述】:
我编写了一个 VBA 脚本,它在一个 PowerPoint (PRS_data) 中搜索标题匹配,然后将幻灯片复制到新的 PowerPoint (PRS)。源上的幻灯片只是标题和图像。当某些幻灯片被复制时,图像要么没有被保留,要么我得到一个带有红色 X 的框。
我使用的是 PowerPoint 2007 SP3,所以红色 X 修补程序不是问题。
我也尝试添加 DoEvents 和 Sleep,但没有成功。
如果我让目标窗口在用户屏幕上最大化,它似乎可以工作,但如果它被最小化,我会得到零星的空白幻灯片。结果不一致。另外,我可以确认幻灯片确实被复制了,因为目标是一个空的演示文稿,并且它充满了只有正确标题的幻灯片。但结果再次不一致。
以前有人遇到过这个吗??
代码如下:
For Each Sld In PRS_data.Slides
If Sld.SlideIndex > 1 Then
If (Sld.Shapes.Title.TextFrame.TextRange.Text Like "*" & iDiv & " Division*") Then
PRS_data.Slides.Range(Sld.SlideIndex).Cut
PRS.Windows(1).Activate
PRS.Slides.Paste
DoEvents
End If
End If
Next
【问题讨论】:
-
您是否尝试使用 F8 键调试进程?所有
if语句都可以正常工作?? -
换句话说——如果你去掉两个
if's语句,你的代码是否会按预期复制所有幻灯片?? -
是的,通过调试没有显示任何不同的行为。这个问题似乎与窗口是否真的在屏幕上有关。
-
if语句不是问题,因为幻灯片正在复制到目标位置,因为标题显示在目标位置的空白幻灯片上。只是图像没有出现在 一些 幻灯片上。
标签: vba clipboard copy-paste powerpoint