我必须编写一个程序,从SharePoint读取一些数据并将其写入PowerPoint演示文稿。 演示文稿中有一些通配符,例如## budget ##,我必须用SharePoint中的值替换它们。我认为这可以通过搜索和替换到PowerPoint演示文稿来完成。
但是也有桌子的背景必须是红色,绿色,黄色等等。我不知道哪些选项可以识别特定的桌子和受影响的细胞,哪个是最好的方法那样做。
答案 0 :(得分:1)
这适用于一个通配符;您希望将其更改为采用参数(您正在搜索的不同通配符文本字符串)或调用另一个依次搜索每个通配符的例程。但是,您可以在单元格中找到文本并根据需要对其进行着色:
Dim oSl As Slide
Dim oSh As Shape
Dim oTbl As Table
Dim x As Long
Dim y As Long
For Each oSl In ActivePresentation.Slides
For Each oSh In oSl.Shapes
' other code here to check for ## text in the shape
If oSh.HasTable Then
Set oTbl = oSh.Table
With oTbl
For x = 1 To .Rows.Count
For y = 1 To .Columns.Count
With .Cell(x, y)
If InStr(.Shape.TextFrame.TextRange.Text, "##budget##") > 0 Then
.Shape.Fill.ForeColor.RGB = RGB(255, 0, 0)
End If
End With
Next
Next
End With
End If
Next
Next