如何使用Word Automation获取页面的范围

问题描述:

如何使用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

这是你如何从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 

道歉,如果我没有你的问题的正确的上下文,但从看Office Development docs看起来好像你必须创建包含你想要的范围对象。 this page的“Range Object”部分表示:“Range对象表示文档中的连续区域,并且由起始字符位置和结束字符位置来定义。您不限于单个Range对象,您可以定义多个同一文档中的Range对象... [A Range]不会与文档一起保存,并且只在代码运行时才存在。“

可以使用Matlab的OfficeDoc实用程序读取/从MATLAB写字内容:http://www.mathworks.com/matlabcentral/fileexchange/15192-officedoc-readwriteformat-ms-office-docs-xlsdocppt