Word (VBA)

Word VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Home Premium : Word 2003)
各行の文字列を反転させたい
投稿日時: 18/02/06 15:21:36
投稿者: oyoyo_president

各行(パラグラフ)の文字列を反転させたいため、以下のようなマクロをつくりましたが暴走します。
なぜでしょう? お助けください。
よろしくお願いします。
 
Sub reverse()
  Dim par As Paragraph
 
  For Each par In _
  ActiveDocument.Bookmarks("\Page").Range.Paragraphs
    par.Range.Text = StrReverse(par.Range.Text)
  Next par
 
End Sub

回答
投稿日時: 18/02/06 16:44:57
投稿者: んなっと

  Dim par As Paragraph
  For Each par In ActiveDocument.Bookmarks("\Page").Range.Paragraphs
    With par.Range
      .MoveEnd , -1 '段落の最後の改行を除外
      .Text = StrReverse(.Text)
    End With
  Next par

投稿日時: 18/02/07 10:40:49
投稿者: oyoyo_president

アドバイス有り難うございます。
段落に改行が含まれることに気が付きませんでした。
修正版で意図のとおりに動作しました。
感謝をこめて閉じます。