2009-07-02 5 views
2

Office 자동화를 사용하여 Microsoft Word에서 n 페이지의 범위를 어떻게 찾으십니까? getPageRange (n) 함수가없는 것처럼 보입니다. 그리고 그것들이 어떻게 나누어 져 있는지 불분명합니다.Word 자동화를 사용하여 페이지 범위를 얻는 방법

+1

내가 물어 볼 수 있다면 Matlab과 어떤 관계가 있습니까? 이것은 내게 msword처럼 보인다 ... –

+0

이상하게도, MATLAB의 COM 서버 루틴을 사용하여 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 개체는 문서의 인접한 영역을 나타내며 시작 문자 위치와 끝 문자 위치에 의해 정의됩니다. 하나의 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 멤버가 있습니다. 당신은 Range 객체를 얻을 수 있습니다. – aem

+0

nah no pages 회원. 당신은 이야기, 단락, 문장 및 범위 (generic)를가집니다. –

관련 문제