0

VBA マクロを PowerPoint 2007 から 2010 に移行し、いくつかのデバッグとテストを行った後、あるプレゼンテーションから別のプレゼンテーションへの図形のコピーは 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

ヘルプ/回避策に感謝します。

4

2 に答える 2

1

この問題は Office 2010 のバグであり、このホットフィックスで修正されました: http://support.microsoft.com/kb/2345341

于 2011-01-10T09:38:33.267 に答える
0

shapeToCopy.Duplicate代わりに試してください。

于 2011-01-08T04:31:18.357 に答える