Hallo Zusammen,
ich habe ein Word-Dokument mit einem Inhaltsverzeichnis. Ich möchte nun (irgendwie) durch das Inhaltsverzeichnis iterieren, von einem bestimmten Entry die Seitenzahl ermitteln und dann zu dieser Seite "springen". Geht das denn? Ich kann mir das Inhaltsverzeichnis holen, aber wie ich durch das Inhaltsverzeichnis iteriere und dann zu einer bestimmten Seite springe, weiß ich nicht.
Hat jemand ne Idee?
Grüße
MS-Tech
Hallo MS-Tech,
hilf uns ein bisschen dir zu helfen: Ist es ein Doc oder Docx? Benutzt du die OpenXML SDK? Wie sieht der Code bisher aus?
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Hi,
klar gern. Es handelt sich um Docx-Dokumente. Ich arbeite mit dieser COM-Schnittstelle, also Microsoft.Office.Interop.Word in der Version 15. Ich habe bisher noch nicht viel Code.
foreach (Field f in wordDoc.Fields)
{
if (f.Type == WdFieldType.wdFieldTOC)
{
TableOfContents toc = wordDoc.TablesOfContents[f.Index];
{
// Entry lesen
}
}
}
Das Objekt wordDoc ist eben ein Dokument, in dem sich das Inhaltsverzeichnis befindet. Das Inhaltsverzeichnis selber bekomme ich, aber wie kann ich dort einen Eintrag raussuchen (ggf. irgendein String-Vergleich), die Seitennummer ermitteln und dann zur Seite springen.
Viele Grüße
MS-Tech
Wegen Crosspost ist hier zu.
Read the TOC of a Word Application and go to page
[Hinweis] Wie poste ich richtig? Punkt 2.2 Keine Crossposts
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck