C# 如何使用Word自动化获取页面范围

C# 如何使用Word自动化获取页面范围,c#,matlab,automation,ms-word,ms-office,C#,Matlab,Automation,Ms Word,Ms Office,如何使用office automation在Microsoft Word中查找第n页的范围?似乎没有getPageRange(n)函数,也不清楚它们是如何划分的。如果我没有正确的上下文来回答您的问题,我深表歉意,但从查看的结果来看,似乎您必须创建包含所需内容的范围对象。的“范围对象”部分说:“范围对象表示文档中的连续区域,由起始字符位置和结束字符位置定义。您不限于单个范围对象。您可以在同一文档中定义多个范围对象…[范围]未与文档一起保存,并且仅在代码运行时存在。”您可以使用Matlab Offi

如何使用office automation在Microsoft Word中查找第n页的范围?似乎没有getPageRange(n)函数,也不清楚它们是如何划分的。

如果我没有正确的上下文来回答您的问题,我深表歉意,但从查看的结果来看,似乎您必须创建包含所需内容的范围对象。的“范围对象”部分说:“范围对象表示文档中的连续区域,由起始字符位置和结束字符位置定义。您不限于单个范围对象。您可以在同一文档中定义多个范围对象…[范围]未与文档一起保存,并且仅在代码运行时存在。”

您可以使用Matlab OfficeDoc实用程序从Matlab读取/写入Word内容:

这是从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

如果我可以问的话,它与Matlab有什么关系?这对我来说似乎只是msword…奇怪的是,我正在使用MATLAB的COM服务器例程创建Word文档,如:wordApp=actxserver('Word.application');可见=true;这是真的,但我不清楚如何轻松获取第n页的范围。是的,他们并没有让从文档中找出这个范围变得特别容易(有关于页面对象的信息。我还并没有把它们全部放在一起,但我怀疑Document对象()将有一个Pages成员,它将为您提供一个页面数组,从中您可能会得到一个Range对象。不,并没有Pages成员。您有故事、段落、句子和范围(通用)。