VBA vs VSTO for excel to powerpoint

时间:2010-07-17 11:09:54

标签: vba vsto excel-2007 powerpoint

我目前正在考虑将Excel工作表复制到powerpoint演示文稿中的一些选项。

  1. 使用VBA选择Excel工作表,复制范围并将其作为图像放入新创建的powerpoint幻灯片中。
  2. 我创建了表格的excel自动html,一旦保存了html(最初),我就会创建一个html图像。
  3. 使用VSTO,我打开Excel复制每个对象并使用剪贴板(或其他复制方法)将其粘贴到新的powerpoint幻灯片中。
  4. 许多不同的用户会经常调用这些操作 - 所有实际操作都在一台服务器上进行。

    每种方法的优点和缺点是什么?是否有任何首选或更好的优化技术?

1 个答案:

答案 0 :(得分:4)

选项1:

临:

  • 速度

魂斗罗:

  • 无法复制,更改插入的数据,在Excel中查看等。

选项3:

几年前,我写了一篇类似的 VBA -Procedure,它从Excel表格创建了一个> 1000幻灯片演示文稿。该方法是从Excel中调用的,并且像这样进行了AFAIR(伪代码):

newSlide = PowerPoint.AddSlide
embeddedSheet = newSlide.Add OLEObject(Excel-Sheet)
embeddedSheet.Range(..., ...) = srcSheet.Range(..., ...)
someFormating(embeddedSheet)
createPieChart(embeddedSheet.Range(..,...))
resize(embeddedSheet)
embeddedSheet.Save
embeddedSheet.Close

Pro / Contra基于我对上述方法的经验。

临:

  • 工作表嵌入在PowerPoint中
    • 您可以更改数据并在其上运行宏。
    • 您无需保留原始Excel表格。

魂斗罗:

  • 输出文件更大
  • Process使用了大量的RAM。
  • 过程需要相对较长时间。 AFAIR 1k幻灯片在我办公室的电脑上花了大约10分钟。创建OleObject占用了大部分时间。