需要在Access中从VBA创建的powerpoint表中搜索特定文本

时间:2017-06-13 12:30:56

标签: vba ms-access powerpoint-2010

所以创建一个表之后,我有一个Yes,No和N / A列,需要为绿色表示是,红色表示否,灰色表示N / A.不是整行而是列。

我不是初学者,但我不是编码专家......这是我的代码:

<xp:viewPanel>

我在我遇到问题的代码上方添加了注释行。当它到达代码的这一部分时,它就会停止运行。

我已经尝试将这部分代码放在几个不同的地方,但仍然无效。

希望我已经为某人提供了足够的信息帮助。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

好吧,既然我发布了这个问题,我继续玩代码并想出了答案。我知道一个IF ......那么它会工作,我只需要放入正确的组合,一旦我做了,我就得到了代码工作......请参阅下面的解决方案:

    R = 2
    With .Table
      While Not rs26.EOF
        For C = 1 To 5
         .Cell(R, C).Shape.TextFrame.TextRange.Text = Nz(rs26.Fields(C - 1))
         .Cell(R, C).Shape.TextFrame.TextRange.Font.Size = 8
         .Cell(R, C).Shape.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignLeft
           If Nz(rs26.Fields(2 - 1)) = "Yes" Then
            .Cell(R, 2).Shape.Fill.ForeColor.RGB = RGB(146,208,80)    'Green
            .Cell(R, 2).Shape.Fill.BackColor.RGB = RGB(146, 208, 80)
            .Cell(R, 2).Shape.TextFrame.TextRange.Font.Color.RGB = RGB(255, 255, 255)
            .Cell(R, 2).Shape.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter
           ElseIf Nz(rs26.Fields(2 - 1)) = "No" Then
            .Cell(R, 2).Shape.Fill.ForeColor.RGB = RGB(255, 0, 0)   'Red
            .Cell(R, 2).Shape.Fill.BackColor.RGB = RGB(255, 0, 0)
            .Cell(R, 2).Shape.TextFrame.TextRange.Font.Color.RGB = RGB(255, 255, 255)
            .Cell(R, 2).Shape.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter
           Else
            .Cell(R, 2).Shape.Fill.BackColor.RGB = RGB(166, 166, 166) ' Gray
            .Cell(R, 2).Shape.Fill.ForeColor.RGB = RGB(166, 166, 166)
            .Cell(R, 2).Shape.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter
           End If
        Next    'c column
        rs26.MoveNext
        R = R + 1
      Wend
      rs26.Close
    End With

当数据加载到表中时,我基本上在FOR语句中嵌入了IF ... THEN语句。在数据已经在表格中之后我尝试这样做之前。