2016-11-22 5 views
0

Angenommen ich die folgende Struktur haben: -C#: Get-Index der Tabelle nach bestimmten Absatz

enter image description here

Ich möchte den Index der zweiten Tabelle erhalten, nachdem „1.3 Die Überschrift von Absatzes 3“ ist, bedeutet das nächste: -

der Eingang ist

1,3 Die Schlagzeile von Absatz 3

Die erwartete Ausgabe

dies ist die vierte Tabelle im Dokument, oder Sie können

The requested member of the collection equlas vier sagen.

Das Ziel dieses für den nächsten Code mit

Microsoft.Office.Interop.Word.Application app = new  Microsoft.Office.Interop.Word.Application(); 
Documents docs = app.Documents; 
Document doc = docs.Open(sDocPath, ReadOnly: true); 
Table t = doc.Tables[4] // 4 that what I need 

Antwort

0

Sie könnten mit dem folgenden Code in VB.NET versuchen oder einfach konvertieren Sie es in C#.

<TestMethod()> Public Sub getDocText() 
    Dim filepath As String = "C:\Test Table.docx" 
    If File.Exists(filepath) AndAlso (Path.GetExtension(filepath).ToUpper.Equals(".DOCX") Or Path.GetExtension(filepath).ToUpper.Equals(".DOC")) Then 
    Dim app As Word.Application = New Word.Application 
    Dim doc As Word.Document = app.Documents.Open(filepath) 
    Dim topic1Range As Word.Range = doc.Content 
    Dim topic2Range As Word.Range = doc.Content 
    Dim Find As Word.Find = topic1Range.Find() 
    Find.Execute("1.2 The headline of paragraph3") 

    Dim Find2 As Word.Find = topic2Range.Find() 
    Find2.Execute("1.3 The headline of paragraph3") 

    Dim contentRange As Word.Range = doc.Range(topic1Range.End, topic2Range.Start) 
    MsgBox(contentRange.Tables.Count) 
    app.Quit() 
    End If 
End Sub 
Verwandte Themen