【问题标题】:Replacing Powerpoint data from Excel using VBA使用 VBA 从 Excel 替换 Powerpoint 数据
【发布时间】:2023-03-06 17:21:01
【问题描述】:

我在 excel 中有一些“表格”,我每周都会导出到 powerpoint(我说“表格”是因为它们实际上只是单元格范围,而不是实际的表格)。现在我有一个宏,可以每周从 powerpoint 中删除所有形状,然后使用不同的宏将表格导出到 powerpoint。这样做的问题是它会从 powerpoint 中删除所有内容,包括幻灯片上的标题和 cmets。所以现在我正在尝试编写代码来替换前几周的表格。到目前为止,这是我拥有的代码,但是当我到达时它不起作用

pptpress.Slides(1).Shapes("Picture 8").Table.Cell(r, c).Shape.TextFrame.TextRange = Sheet2.Cells(r, c).Value

我认为它不起作用,因为单元格范围实际上不是表格?无论如何,有人对如何替换前几周的数据有任何建议吗?我在这里挣扎

Sub UpdateTables()

    Dim pptapp As New PowerPoint.Application
    Dim pptpress As PowerPoint.Presentation
    
    Dim left As Double
    Dim top As Double
    Dim height As Double
    Dim width As Double
    
    Dim r As Integer
    Dim c As Integer
    
    Set pptpress = pptapp.Presentations.Open("xxxxxx")

    'Table update
    For r = 4 To 30
    
     For c = 2 To 12
     
        pptpress.Slides(1).Shapes("Picture 8").Table.Cell(r, c).Shape.TextFrame.TextRange = Sheet2.Cells(r, c).Value
        
    Next c
   Next r


End Sub

【问题讨论】:

  • 运行代码时会发生什么?你有错误吗?如果是,错误是什么,在哪一行?
  • 试试pptpress.Slides(1).Shapes("Picture 8").Table.Cell(r, c).Shape.TextFrame.TextRange.Text(你错过了最后一个.Text部分)
  • 它给了我一个错误,说“对象'形状'的方法'表'失败”。那是因为我输入数据的只是一个单元格范围,而不是实际的表格吗?
  • 抱歉,我错过了关于不是实际表格的部分。如果是这种情况,那么您需要使用某种命名模式来单独处理每个形状,这会告诉您每个形状在哪里。使用一张桌子可能更容易......
  • 从头开始构建它不是一种选择吗?我做了一点,编辑现有的 PPT 总是给我带来戏剧性,所以我每次都用代码从头开始构建它。

标签: excel vba powerpoint


【解决方案1】:

我认为它不起作用,因为单元格范围实际上不是表格?

是的。形状的名称是“图片 8”这一事实也是一个赠品。很可能是粘贴到 PPT 幻灯片中的 EMF/WMF/etc 图片。

正如@Dan 所建议的,插入一个新的表格形状并使用它可能是最简单的。或者,如果您需要保留特定的表格格式,请手动将表格添加到幻灯片中,对其进行格式化,然后让您的代码将数据放入其中。

【讨论】:

    【解决方案2】:

    为了替换旧的形状(或者在您的情况下:表格),您可以使用标记或时间戳来确定需要删除的内容。 PowerPoint 中的标签 是一个很好的方法。您可以将这些附加到演示文稿、幻灯片和形状(甚至更多)。它们对用户不可见,但可以通过代码(例如 VBA)读取/写入。

    这是您需要寻找的: https://docs.microsoft.com/en-gb//office/vba/api/powerpoint.tags

    【讨论】:

      猜你喜欢
      • 2018-02-23
      • 2021-03-19
      • 2021-07-17
      • 2015-06-12
      • 2011-09-15
      • 2020-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多