0

Word ドキュメントで次の変更履歴を検出し、メッセージ ボックスにページ番号を表示する VBS があります。

これはループしますが、問題はありませんが、これらの 'CurPage' 変数を 1 つの配列に追加する必要がありました。したがって、msgbox 36 ではなく msgbox 38 です。msgbox 36、38 などです。

また、ループを終了するには、ファイルの終わりを解決する必要があります。

Dim i As Integer
i = 0

'get us home
    Selection.HomeKey Unit:=wdStory

Do
'find next change
    WordBasic.NextChangeOrComment

'get current page
    CurPage = Selection.Information(wdActiveEndAdjustedPageNumber)
    MsgBox (CurPage)

'<Add CurPage value to array>

'<find out if we have reached the end of file, if so end loop>


  i = i + 1
Loop Until i = 188
End Sub
4

1 に答える 1

0

最初の質問にお答えします。2 番目の投稿 (ループの終了について) は、まったく別のトピックであるため、別の投稿が必要です。

配列は必要ありません。で表示できる文字列が必要ですMsgBox

  Dim i As Integer
  Dim Pages as String

  i = 0
  Pages = "";    

  'get us home
  Selection.HomeKey Unit:=wdStory

  Do
    'find next change
    WordBasic.NextChangeOrComment

    'get current page
    CurPage = Selection.Information(wdActiveEndAdjustedPageNumber)
    Pages = Pages & ", " & CurPage

    '<Add CurPage value to array>

    '<find out if we have reached the end of file, if so end loop>

    i = i + 1
  Loop Until i = 188
  MsgBox Pages

End Sub
于 2013-07-05T02:40:00.437 に答える