2

特定の Word 文書のすべてのテーブルのすべての色を削除するために使用しているマクロがあります。削除される色は、最初はどこに入力する必要があるかを示すためにあります。

信じてください。フォーム フィールドまたは ActiveX テキスト ボックスを使用したいのですが、これらが機能する状況ではありません。サード パーティのアプリケーションを介して Word が開かれているため、これらは差し込み印刷で無効になります。とにかく、最初のテーブルを飛ばしたい。以下のコードを設定して、最初のテーブルの最初のセルを特定の色に戻します。

Sub decolordocument()
'
' decolordocument Macro
'
'
Dim tbl As Table

For Each tbl In ActiveDocument.Tables
tbl.Shading.BackgroundPatternColor = wdColorWhite
Next
ActiveDocument.Tables(1).Cell(1, 1).Shading.BackgroundPatternColor = wdColorLightTurquoise

End Sub

これは色を削除するのにうまく機能しますが、最初のテーブルの最初のセルの色はすべて同じではありません。for each ループ中に最初のテーブルをスキップしたいだけです。if ステートメント (If tbl = ActiveDocument.Tables(1) Then...) を試しましたが、Then ステートメントを認識しないため、明らかにこれは許可された比較ではありません。私も範囲でこれをやろうとしましたが、うまくいきませんでした。任意の考えをいただければ幸いです。

4

2 に答える 2

2
Sub decolordocument()
'
' decolordocument Macro
'
'
Dim first as Boolean
Dim tbl As Table

first = true

For Each tbl In ActiveDocument.Tables
If first Then
first = false
Else
tbl.Shading.BackgroundPatternColor = wdColorWhite
End If
Next
'ActiveDocument.Tables(1).Cell(1, 1).Shading.BackgroundPatternColor = wdColorLightTurquoise

End Sub
于 2013-01-08T17:11:13.243 に答える