将OLEObject从Excel复制到新创建的Powerpoint

时间:2010-10-04 12:39:50

标签: excel powerpoint ole

即使经过数小时的搜索,我仍在努力使API使用正确。

基本上,我想从我的Excel文件中执行以下操作。

1)创建一个新的Powerpoint演示文稿和幻灯片。 [DONE]

2)将OLE文件从Excel文件复制到Powerpoint幻灯片中。

到目前为止,我做了什么。 2是

Dim s As Shapes
For Each Obj in Worksheets("TEMPLATE").OLEObjects
  'Copy OLEObjects from Excel to Powerpoint slide
  Set s = pptSlide.Shapes.AddOLEObject '( ... ?? ... )
Next Obj

请帮我介绍如何将OLE文件从Excel文件复制到Powerpoint幻灯片中。

谢谢。

1 个答案:

答案 0 :(得分:2)

为什么不简单地复制和粘贴OBJObjects?

For Each Obj in Worksheets("TEMPLATE").OLEObjects
  'Copy OLEObjects from Excel to Powerpoint slide
  Obj.Copy()
  pptSlide.Shapes.Paste()
Next Obj

编辑评论

paste方法应该返回一个ShapeRange对象。您可以在返回的ShapeRange中设置第一个形状的top和左侧属性。我没有测试这个(我不使用VB.NET)但它应该是这样的:

Dim sr as ShapeRange
Dim sh as Shape

Set sr = pptSlide.Shapes.Paste()
Set sh = sr.Item(1)
sh.Left = 10
sh.Top = 10