2009-07-02 20 views
2

Officeオートメーションを使用してMicrosoft Wordでページnの範囲を調べるにはどうすればよいですか? getPageRange(n)関数が存在しないように見え、分割方法が不明です。Wordオートメーションを使用してページの範囲を取得する方法

+1

私が聞くことができる場合、Matlabとの関係は何ですか?これは私だけのmswordのようです... –

+0

奇妙なことに、私はMATLABのCOM Serverルーチンを使ってWord文書を作成しています: wordApp = actxserver( 'word.application'); wordApp.Visible = true; – Steve

答えて

3

これは、あなたがVBAからそれを行う方法です、かなり些細なことする必要がありMatlabのCOM呼び出しに変換します。

Public Sub DemoPerPageText() 

    Dim i As Integer 
    Dim totalPages As Integer 
    Dim bmRange As Range 

    totalPages = Selection.Information(wdNumberOfPagesInDocument) 

    For i = 1 To totalPages 
     Set bmRange = ActiveDocument.Bookmarks("\Page").Range 
     Debug.Print CStr(i) & " : " & bmRange.Text & vbCrLf 
    Next i 

End Sub 
0

あなたの質問に適切なコンテキストがないが、Office Development docsを見ると、あなたが望むものが含まれているRangeオブジェクトを作成する必要があるようです。 this pageの "Range Object"セクションには、次のように書かれています。 "Rangeオブジェクトは、ドキュメント内の連続した領域を表し、開始文字位置と終了文字位置によって定義されます.1つのRangeオブジェクトに限定されません。同じドキュメント内の範囲オブジェクト... [範囲]はドキュメントと共に保存されず、コードの実行中にのみ存在します。

+0

これは当てはまりますが、nページ目の範囲を簡単に取得する方法はわかりません。 – Steve

+0

ええ、彼らはドキュメントからそれを理解するのが特に簡単にはなりません。 : http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.page.aspxにはPageオブジェクトに関する情報がありますが、私はまだそれをまとめませんでしたが、 Documentオブジェクト(http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.document.aspx)にはページの配列を提供するPagesメンバがあります。 – aem

+0

nah no pagesメンバー。あなたは物語、段落、文章と範囲(generic)を持っています。 –

関連する問題