2009-07-02 72 views
2

如何使用Office自動化在Microsoft Word中找到頁面n的範圍?似乎沒有getPageRange(n)函數,它不清楚它們是如何分割的。如何使用Word Automation獲取頁面的範圍

+1

如果我可能會問,與Matlab的關係是什麼?這似乎只有我的msword ... – 2009-07-02 20:08:45

+0

奇怪的是,我使用MATLAB的COM服務器例程來創建Word文檔,如: wordApp = actxserver('word.application'); wordApp.Visible = true; – Steve 2009-07-20 20:41:39

回答

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看起來好像你必須創建包含你想要的範圍對象。 this page的「Range Object」部分表示:「Range對象表示文檔中的連續區域,並且由起始字符位置和結束字符位置來定義。您不限於單個Range對象,您可以定義多個同一文檔中的Range對象... [A Range]不會與文檔一起保存,並且只在代碼運行時才存在。「