vba代码为powerpoint

我有一个连接到SQL数据库的销售KPI的Excel工作表,并设置为每5分钟刷新一次。

我build立了一个PowerPoint,显示在我们的销售办公室。 我使用链接数据选项从Excel中复制饼图。 当我第一次build立PowerPoint,这个工程真棒。 每5分钟,当Excel数据从SQL更新时,PowerPoint自动更新。

但是,当我closuresExcel和PowerPoint并在第二天打开它时,PowerPoint中的饼图不再保持dynamic链接。 换句话说,我必须手动点击每个图表(有15个以上),然后点击刷新数据。 即使在我这样做后,链接不再是dynamic的 – 它不会自动更新Excel图表更改时。

清楚的是,当这种情况发生时,我有两份文件。

我假设有一种方法可以用VBA做到这一点,并希望能够帮助编写代码。 一旦PP打开,我希望它每次Excel更改时不断自动更新。 如果Excel必须公开才能完成这项工作,那没问题。

感谢任何帮助。

这是未经testing的,但想法是每当工作表被更新(更改),那么这应该更新名为KPIs.pptx的PowerPoint文件中的链接。
它可能需要暂停macros,直到PPTX文件更新,然后释放该对象。

Private Sub Worksheet_Change(ByVal Target as Range) Dim objPPT as Object objPPT = GetObject("C:\username\KPIs.pptx") objPPT.UpdateLinks 'may need a pause here onjPPT = Nothing End Sub