0

(私は熱心にフォーラムを検索しましたが、私が見つけた唯一の同様の「置換」質問は、VBAではなくPython、Javaなどに関連していました)

  • MS Word(2010)ドキュメント内にテーブルがあります(2つの列がありますが、2番目の列のみにテキストがあります)
  • 2列目の一部のセルには、1行のテキストがあり、段落記号はありません。
  • 2番目の列の他のセルには、2行のテキストと2つの段落マーク(^ p)があります。
  • これら2種類の細胞の間に規則的なパターンはありません
  • 2番目の段落マークがある場合、これは常にセルの終わりマーカーの直前に発生します

この2番目(=最後)の段落マークを各セルから削除( ""に置き換える)するマクロが本当に必要ですが、セル内の最初の段落マークは無視します。

誰かがこのマクロを手伝ってくれる時間と傾向があれば、私は非常に感謝しています。ご想像のとおり、私は自分自身にクラッシュコースを与えようとしたにもかかわらず、VBAの経験がほとんどありません。私はマクロの記録に慣れていますが、このより複雑なケースではオプションではありません。

グーグルが私にこれを見つけたとき、私の希望は高まりました-それは適応可能であるように見えますhttp://www.vbaexpress.com/kb/getarticle.php?kb_id=334 ; しかし、^ pの2番目(/ final)のオカレンスのみを置き換えるように調整する方法がわかりません。

前もって感謝します。

4

1 に答える 1

1

どうですか:

Dim tbl As Table
Dim c As Cell


For Each tbl In ActiveDocument.Tables
    For Each c In tbl.Columns(2).Cells
        'The end of a cell without a carriage return is vbCr & Chr(7)
        If Right(c.Range.Text, 3) = vbCr & vbCr & Chr(7) Then
            c.Range.Text = Mid(c.Range.Text, 1, Len(c.Range.Text) - 3) & Chr(7)
        End If
    Next
Next
于 2012-08-28T15:21:30.683 に答える