pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

WordVBA:調べてみると、行末は揃ってなかった

前説

pagetaka.hatenablog.com
昨日掲載した「川柳」をきれいに並べるVBAネタの続きです。

Information(wdHorizontalPositionRelativeToPage)で調べてみた

VBAには、カーソル位置が頁の上からとか左からとかの距離(ポイント表示)で調べてくれる機能がある。
いくつか、カーソルを行末に置いてから簡単なVBAを動かして調べてみたら、やはり数字が同じではなかった。
316.5
317.25
317.25
317.25
315.75
315.75
315
317.25
(途中飛ばしてチェックしてたりなので、前掲記事の川柳の並び順とは一致しません。悪しからず)

書いたVBAはわずか1行

Sub informationToParaHead()
 Debug.Print Selection.Information(wdHorizontalPositionRelativeToPage)
End Sub

カーソルを、調べる行の末尾に置いてからVBAを走らせます。イミディエイト・ウィンドウに表示されます。

どれかを基準値にして、調整すればOKかも…

まだ、試しておりませんが、どれかを基準値にして差分を「字間」などで調整すればピッタリそろう可能性があるかもしれないと妄想中。Wordにはよく裏切られるので「確信」は持てない。結局のところ、爺の実力不足ということなんですけどね…。
明日以降のお楽しみ、ということで。

追記:今ちょっとやってみたけどNGだった

手作業で、字間を少し広げ行末が揃うような操作をやってみたけど、とりあえず行末が動いた風は無く、揃ってない…。
明日、改めてちゃんとチェック…。とりあえずNGだった…( ;∀;)

追記2(4月18日):選択位置の調整で、末尾位置動いた

「字間」調整のとき、カーソルを字間に置いて数字を変えても、末尾位置は動かない…。1字前にある「空白」を選択しつつ「字間」を調整すると動く。
手作業結果なので、これをVBAに置き換え働くように工夫せねば…。
ちょっと先が見えた。