Wordでは、複数の表を持つ文書があります。これらのセルの中に隠れている(見えないがデータがある)のは、色を濃くしたい色の16進コードです。比較的短く、セルのテキストの残りの部分と混同されないユニークなテキストです。Word VBAを使用して、セルの値に基づいて表のセルの色を指定します。
私は修正するためにオンラインでいくつかのコードを見つけましたが、動作させるようには見えません。それは何の誤りも与えない、ただ何も起こらない。私は問題がテキスト値のためのテーブルを検索しているように感じるが、私はこれに数時間を費やして、今私は自分自身を混乱させたと思う!
Sub ColourIn()
Dim oTbl As Table
Dim oCel As Cell
Dim oRng As Range
Dim oClr As String
For Each oTbl In ActiveDocument.Tables
For Each oCel In oTbl.Range.Cells
Set oRng = oCel.Range
oRng.End = oRng.End - 1
If oRng = "CCFFCC" Then
oCel.Shading.BackgroundPatternColor = wdColorLightYellow
End If
If oRng = "FFFF99" Then
oCel.Shading.BackgroundPatternColor = wdColorPaleBlue
End If
Next
Next
End Sub
ありがとうございます!
編集:私はまた、このコードのウィットに起こって何も同じ結果を試みた
:
Sub EachCellText()
Dim oCell As Word.Cell
Dim strCellString As String
For Each oCell In ActiveDocument.Tables(1).Range.Cells
strCellString = Left(oCell.Range.Text, _
Len(oCell.Range.Text) - 1)
If strCellString = "CCFFFF" Then
oCell.Shading.BackgroundPatternColor = wdColorLightGreen
If strCellString = "CCFFCC" Then
oCell.Shading.BackgroundPatternColor = wdColorLightYellow
If strCellString = "FFFF99" Then
oCell.Shading.BackgroundPatternColor = wdColorPaleBlue
End If
End If
End If
Next
End Sub
コード自体が動作し、16進コードが入っているセルが強調表示されます。 テーブルのスクリーンショットを投稿して、「セル内に隠れている」という意味を実際に見ることができますか?データ? – gizlmo
ここに説明付きのスクリーンショットがあります:http://i.imgur.com/mxOBbNb.pngこのコードはドキュメント内のすべてのセルに移動するのでしょうか、それともどこかでつまってしまうかもしれません。日付/時間などを含むドキュメントのトップもテーブルですが、そこに詰まっているのだろうかと思います。 –