Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


203 / 886 ←次へ | 前へ→

【706】Re:文書の最後の文字(改行、改ページ以外)が入力されているページ数の取得について
回答  りる  - 10/10/30(土) 11:25 -

引用なし
パスワード
   ゆう さん、こんにちは。
>題名のとおりなのですが、ワードで作った文書の
>最後の文字(ただし、改行、改ページ以外の文字)が
>入力されているページが何ページなのかを調べる
>マクロを作ろうとしています。
>
h t t p://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=651;id=word
これを応用して、

Sub Test()
  Dim tp, objR As Rectangle, LL As Long, Lmax As Long, PP As Long, s1 As String
  s1 = "なかった"
  With Application.ActiveWindow
   tp = .View.Type '元のビュー
   '表示→印刷レイアウト(違っている場合は一旦変更)
   If tp <> wdPrintView Then .View.Type = wdPrintView
   PP = .Panes(1).Pages.Count '最後のページ
   Do While PP >= 1
     Set objR = .Panes(1).Pages(PP).Rectangles.Item(1)
     Lmax = objR.Lines.Count
     '下からループして、改行コードのみではないところを探す
     '  → 何か字が入っている行
     For LL = Lmax To 1 Step -1
      With objR.Lines.Item(LL).Range
       If Len(.Text) > 1 Then '改行のみの行以外を探す
         '見付けたら抜ける
         s1 = "最後は" & PP & "ページの" & LL & "行目"
         Exit Do
       End If
      End With
     Next
     PP = PP - 1
   Loop
   If tp <> .View.Type Then .View.Type = tp '元のビュー
  End With
  '結果
  MsgBox s1, vbInformation, "改行・改ページ以外の文字の位置"
End Sub
文字単位ではなく、行単位でみるという考え方もあります。
1,455 hits

【705】文書の最後の文字(改行、改ページ以外)が入力されているページ数の取得につ... ゆう 10/10/27(水) 11:30 質問[未読]
【706】Re:文書の最後の文字(改行、改ページ以外)... りる 10/10/30(土) 11:25 回答[未読]
【707】お礼 ゆう 10/10/31(日) 23:12 お礼[未読]

203 / 886 ←次へ | 前へ→
ページ:  ┃  記事番号:
207136
(SS)C-BOARD v3.8 is Free