2016-10-13 1 views
0

Ich versuche, die Seitenzahlen auf der rechten Seite eines Inhaltsverzeichnisses in Word in einigen VBA-Code zu verwenden. Ich kann auf das Array zugreifen, das den Text speichert, der mit diesen Seitennummern unter Verwendung von GetCrossReferenceItems(wdRefTypeHeading) verknüpft ist, aber ich kann nicht scheinen, die Seitennummern selbst zu erhalten. Keine der GetCrossReferenceItems-Konstanten here scheint relevant zu sein.Wie Referenz MS Word-Inhaltsverzeichnis Seitenzahlen mit Excel VBA?

enter image description here

Gibt es eine Möglichkeit, diese Seitenzahlen zu verweisen? Vielen Dank!

Antwort

1

Ich bin kein "Worder" so hier ist, was ich kam:

Option Explicit 
Sub main() 
    Dim myPagesNumber() As Long 

    myPagesNumber = GetPagesNumber(ActiveDocument) '<-- store index pages numbers in myPagesNumber 
End Sub 
+0

@superfluous, hast du durch sie bekommen:

Function GetPagesNumber(doc As Document) As Long() Dim i As Long Dim myRng As Range Dim myHeadings As Variant With doc Set myRng = .Content myRng.Collapse Direction:=wdCollapseEnd myHeadings = .GetCrossReferenceItems(wdRefTypeHeading) ReDim pages(1 To UBound(myHeadings)) As Long For i = 1 To UBound(myHeadings) myRng.InsertCrossReference ReferenceType:=wdRefTypeHeading, ReferenceKind:=wdPageNumber, ReferenceItem:=i With .Paragraphs(ActiveDocument.Paragraphs.count).Range myRng.SetRange Start:=.Start, End:=.End - 1 End With pages(i) = CLng(myRng.Text) Next i End With myRng.Delete GetPagesNumber = pages End Function 

wie folgt verwendet werden? – user3598756

Verwandte Themen