2009-07-02 5 views
2

Comment trouvez-vous l'étendue de la page n dans Microsoft Word à l'aide de la bureautique? Il semble n'y avoir aucune fonction getPageRange (n) et il n'est pas clair comment ils sont divisés.Comment obtenir la plage d'une page à l'aide de Word Automation

+1

Quelle est la relation avec Matlab si je peux demander? Cela me semble que msword ... –

+0

Assez curieusement, j'utilise les routines COM de MATLAB pour créer des documents Word, comme dans: wordApp = actxserver ('word.application'); wordApp.Visible = true; – Steve

Répondre

3

Voici comment vous le faites à partir de VBA, devrait être assez trivial de convertir aux appels 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

Excuses si je n'ai pas le bon contexte pour votre question, mais en regardant le Office Development docs, il semble que vous deviez créer des objets Range qui contiennent ce que vous voulez. La section "Range Object" de this page indique: "L'objet Range représente une zone contiguë dans un document et est défini par une position de caractère de début et une position de caractère de fin.Vous n'êtes pas limité à un seul objet Range. Range objets dans le même document ... [A Range] n'est pas enregistré avec un document et n'existe que lorsque le code est en cours d'exécution. "

+0

Cela est vrai, mais il n'est pas clair pour moi comment acquérir facilement une gamme pour la nième page. – Steve

+0

Oui, ils ne le rendent pas particulièrement facile à comprendre à partir des docs. :( http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.page.aspx contient des informations sur l'objet Page.Je n'ai toujours pas tout mis ensemble, mais je soupçonne l'objet Document (http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.document.aspx) aura un membre Pages qui vous donnera un tableau des pages, et de cela peut-être vous pourrez obtenir un objet Range – aem

+0

nah aucun membre de pages Vous avez des histoires, des paragraphes, des phrases et des plages (génériques). –

Questions connexes