我对此非常“陌生”。我目前正在使用包含~120张幻灯片的ppt文件,每张幻灯片包含一个具有相同字段但值不同的表。我想将这些表复制到Excel文件中。没有与表关联的图表。
我不关心字段名称,只关心值,我正在寻找一个自动执行此操作的VBA代码。
是否可能或过于简单。我尝试录制PPT宏来复制表格(alt + t + m + r),但我不知道在那之后该怎么做,或者如何启动Excel文件来粘贴这个宏等。
非常感谢任何帮助。
答案 0 :(得分:0)
我对Excel并不是那么好,但也许其他人可以在这里填补空白。这或多或少是您在PowerPoint中每张幻灯片上找到第一张表所需要的,并使用它做一些事情。或许对Excel有好处的人会填补缺失的部分。
Sub CopyTables()
Dim oSl As Slide
Dim oTbl As Table
Dim lCol As Long
Dim lRow As Long
For Each oSl In ActivePresentation.Slides
Set oTbl = GetFirstTable(oSl)
If oTbl Is Nothing Then
Exit For
End If
With oTbl
For lCol = 1 To .Columns.Count
For lRow = 1 To .Rows.Count
Debug.Print oTbl.Cell(lRow, lCol).Shape.TextFrame.TextRange.Text
Next
Next
End With
Next
End Sub
Function GetFirstTable(oSl As Slide) As Table
Dim oSh As Shape
For Each oSh In oSl.Shapes
If oSh.HasTable Then
Set GetFirstTable = oSh.Table
Exit Function
End If
Next
End Function