|
一塊の文(中には空白行{改行だけの行}も含む)があって、其の先頭行に
カーソルを合わせておき、マクロでカーソルを下げてきて、空白行が5つ続けば、
そこで其のデータの文の最後であると判断し、カーソルを元の位置まで戻させる、
させるマクロで作ろうとしました。以下のように作りましたら、空白行が5つある
ときはうまくいくのですが、一塊の文によっては5つも空白がなく、それ以降になんら文も改行もない場合、うまく作動しません。どのようにしたら良いのかお教えください。
ワードのマクロは経験があまりなく、エクセル感覚で作成していますのでわかりにくいかもしれませんが。
Selection.HomeKey ' Cursorを行頭へ
Br = 0 ' ブランクの数
Cr = 0 ' 先頭よりの行数
1 A = Selection.Text
If Asc(A) = 13 Then ' 空白行か?
Br = Br + 1
If Br >= 5 Then ' 改行の数が5ならDataの最終とみなす
GoTo 2
End If
Else
Br = 0
Dr = Cr ' 最終の文字のある行の先頭からの行数
End If
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.HomeKey ' Cursorを行頭へ
Cr = Cr + 1
GoTo 1
2 Selection.MoveUp Unit:=wdLine, Count:=Cr 'cursorをCr分上に移動
(元の位置にカーソルを戻す)
データ例
sdfkjf;d;kじゃs
dkkdkdkdk
(CR)
dskふぁdskf
dkだs ------ここまでが必要なデータ
(CR)
(CR)
(CR)
(CR)
(CR) ------(CR)が5つあれば処理は出来るが3なら
うまくいかない
|
|