以编程方式编辑Powerpoint演示文稿中的Text,Tables和Tablesproperties

时间:2015-10-06 11:01:02

标签: c# vb.net vba powerpoint openxml

我必须编写一个程序,从SharePoint读取一些数据并将其写入PowerPoint演示文稿。 演示文稿中有一些通配符,例如## budget ##,我必须用SharePoint中的值替换它们。我认为这可以通过搜索和替换到PowerPoint演示文稿来完成。

但是也有桌子的背景必须是红色,绿色,黄色等等。我不知道哪些选项可以识别特定的桌子和受影响的细胞,哪个是最好的方法那样做。

1 个答案:

答案 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