PowerPoint 2010宏仅在Windows 7下工作,而不是Windows XP,(复制,粘贴形状错误/错误)

StackOverflow https://stackoverflow.com/questions/4491046

我从PowerPoint 2007到2010年迁移了VBA宏,经过一些调试和测试,我发现将形状从一个演示文稿复制到另一个演示文稿仅在Windows 7下工作,而不是Windows XP下的作品。

当我关闭演示文稿时,我从Windows XP中复制了形状,将新对象清空。在Windows 7中,该对象仍然存在。

我举了一个例子:

Public Sub test()
  Dim HandlerApplication As New HandlerApplication
  Dim slide As slide

  HandlerApplication.create Application
  Set slide = ActiveWindow.Selection.SlideRange(1)

  Dim ppt As Presentation
  Dim shapeToCopy As shape
  Dim copiedShape As shape
  Dim strTemplateFile As String
  strTemplateFile = "SlideTemplate.pptx"

  Set ppt = Application.Presentations.Open(BuildPath(ComponentsPath, strTemplateFile), msoTrue, msoFalse, msoFalse)
  Set shapeToCopy = ppt.slides(7).shapes(1)

  shapeToCopy.Copy
  Set copiedShape = slide.shapes.PasteSpecial(ppPasteShape)(1)
  ppt.Close
  copiedShape.Name = "TestName"
End Sub

感谢任何帮助/解决方法。

有帮助吗?

解决方案

问题是在2010年办公室中的一个错误,并已在此Hotfix中修复: http://support.microsoft.com/kb/2345341

其他提示

尝试 shapeToCopy.Duplicate 反而。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top