代码之家  ›  专栏  ›  技术社区  ›  Bob

VBA与VSTO for excel到powerpoint

  •  3
  • Bob  · 技术社区  · 16 年前

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

    1. 使用VBA选择excel工作表,复制范围并将其作为图像放置到新创建的powerpoint幻灯片中。
    2. 使用VSTO,我打开Excel复制每个对象,并使用剪贴板(或其他复制方法)将其粘贴到新的powerpoint幻灯片中。

    每种方法的优缺点是什么?有没有更喜欢或更好的优化技术?

    1 回复  |  直到 16 年前
        1
  •  4
  •   marg    16 年前

    方案1:

    赞成的意见:

    相反:

    • 插入的数据不能在excel中复制、更改、查看等。

    VBA

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

    根据我使用上述方法的经验,赞成/反对。

    赞成的意见:

      • 您不需要保留原始Excel表。

    相反:

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