ひどく研究された質問のお詫びですが、私はVBAの一般的な知識とPowerPointのVBAに関する知識がほとんどなく、おそらく基本的な考え方に固執しています。PowerPoint 2013プレゼンテーションのすべてのテーブルをフォーマットする
私は自分のプレゼンテーションですべてのテーブルを条件付きでフォーマットしようとしており、私の問題のためにthis code from a SuperUser answerを採用しています。
Sub FormatTheTable(oTbl As Table)
Dim x As Long
Dim y As Long
With oTbl
For x = 1 To .Rows.Count
For y = 1 To .Columns.Count
If .Cell(x, y).Shape.TextFrame.HasText Then
If CDbl(.Cell(x, y).Shape.TextFrame.TextRange.Text) > 0 Then
.Cell(x, y).Shape.Fill.ForeColor.RGB = RGB(255, 0, 0)
End If
End If
Next ' Column
Next ' Row
End With ' otbl
End Sub
Sub DoIT()
Dim sld As Slide
Dim shp As Shape
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.HasTable Then
FormatTheTable (shp.Table)
End If
Next shp
Next sld
End Sub
私は私が正しくFormatTheTable
機能を呼んでいるとは思わないが、私はそれが正しく行われることになるか見当がつかない:
私は、この基本的なマクロを作ってみました。どんな助けでも大歓迎です!
ここで@ JamieGの答えにタグを付ける:コードがテキストの値をチェックして0より大きいかどうかを確認しますが、テキストが数値ではなくアルファベットの場合はエラーになります。これを次のように変更します。If CDbl(Val(.Cell(x、y).Shape.TextFrame.TextRange.Text))> 0 Then –