私のプログラムから生成されている単語文書があり、現在は<BR/>
タグを改行で置き換えたマクロがあります。これはテーブル内の新しいセクションの開始を意味するので、<BR/>
タグが存在する行の先頭にボーダーを追加することも考えました。私の現在のコードは次のとおりです。単語vbaの特定の文字列を含む表の行に枠を追加する
With ActiveDocument.Content.Find
.Text = "<BR/>"
.Forward = True
While .Execute
.Parent.Text = Chr(10)
.Parent.Collapse wdCollapseEnd
Wend
End With
私は<BR/>
がそれに境界線を追加し、その後に発生し、テーブル内の行全体を得ることができる方法は?
私の試みは、これまでに崩壊した後に、whileループの最後に追加することでした:
With .Parent.Row.Borders(wdBorderTop)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
しかし、それは何も(また、エラーなし)を行いません。私は行を正しく把握しているとは思わないが、それ以外の方法は見つけられない。ありがとう。
EDIT:
私は今、多分私は改行部分の前に別のチェックを行う必要があります考えています。したがって、すべてのテーブル行をループするforループを追加する場合は、<BR/>
が存在するかどうか、行の先頭に境界線を追加するかどうかを確認してください。
私は単語でvbaに慣れていませんが、通常はexcelを使用して、2つを混ぜていると思います。ここに私がこれまでに持っているものがあります:
Dim oTbl As Table
Set oTbl = ActiveDocument.Tables(1)
For Each oRow In oTbl.Rows
If InStr(1, oRow.Cell(1, 1), "<BR/>", vbBinaryCompare) > 0 Then
oRow.Borders(wdBorderBottom).LineStyle = wdLineStyleSingle
End If
Next
なぜdownvoteですか?私は自分の質問を完全に説明し、私が試したことを示し、最終的に私自身の質問に答えなければならなかった。 –