使用python或VBA同时更改不同pptx幻灯片上表格中的表格单元格值

时间:2019-11-21 22:09:43

标签: python powerpoint powerpoint-vba

我在2张(或更多张)不同的PowerPoint幻灯片上获得了2张(或更多张)相同的表格,每张幻灯片一张。我需要编写一个代码,只要我在其中一个表上修改该单元格,它就会“更新”所有表中的相应单元格。 因此,我一直在尝试找出如何使用pptx包访问单元格值并将其作为变量存储在VBA和python中的方法,但是没有成功,没有任何方法可以满足我的需要。 我唯一能做的就是在VBA中使用InputBox(),但这并不方便。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

由于PowerPoint缺少书签,并且只有几个字段,因此您必须长时间指定读取和写入位置。注意合并或拆分单元格的表,这些表可能会解决地址问题。

Sub UpdateTableCell()
  Dim CellContent$
  CellContent$ = ActivePresentation.Slides(1).Shapes(1).Table.Rows(2).Cells(2).Shape.TextFrame.TextRange.Text
  ActivePresentation.Slides(2).Shapes(1).Table.Rows(3).Cells(4).Shape.TextFrame.TextRange.Text = CellContent$
End Sub

如果将其添加到快速访问工具栏中,则可能会发现使用起来更方便。如果该图标位于QAT的第5位,则可以使用Alt + 5来运行它作为键盘快捷键。