Wie Sie ein Word-Schnellformatvorlagen-in C# - nicht nur eine einfache Formatierung, sondern der gesamte Stil?

Ich gebe zu, ich bin ganz neu mit dem Interop-Bibliotheken, aber die Ratschläge, die Leute scheinen immer zu geben ist, ein makro aufzeichnen und schauen Sie sich den vba-code. Das problem ist, das makro nicht aufzeichnen, was genau ich mache: Sie einen Quick-Stil anwenden, um die aktuelle Auswahl.

Meine Aufgabe ist ziemlich einfach: ich anwenden müssen, einen Schnellen Stil auf einen Absatz (Microsoft.Office.Interop.Wort.Absatz). Mit der set_style Befehl gilt jedoch nur für die grundlegende Formatierung, und den Absatz, hält es original Quick-Style-Auswahl (Normalen).

Mit Remou Ansatz klappte es bei mir zwar nicht, aber es scheint sehr ähnlich zu meinem eigenen code, und ich kann nicht damit es funktioniert, und ich denke, es könnte mein Verständnis von der objectmodel, dass ist ein bisschen off.

public void AddParagraph(string text, string styleName = null)
{
  Paragraph paragraph = _document.Content.Paragraphs.Add();
  if (styleName != null)
  {
    paragraph.Range.set_Style(_document.Styles[styleName]);
  }

  paragraph.Range.Text = text;
  paragraph.Range.InsertParagraphAfter();
}

Ich dann rufen Sie es mit z.B. AddParagraph("A title", "Heading 1");, aber das Ergebnis der Verwendung der oben genannten wrapper zu bauen, mein Dokument ist, dass keine kompletten styles angewendet werden, nur schriftart, Farbe, Größe und Fett/Kursiv.

Ich bin mit meinen eigenen .dotx - Datei, mit meinem eigenen definierten und benannten Stile, aber einfach kopieren Sie den code aus Remou arbeiten mit meinem eigenen template, so dass ich nicht denke, dass ist das Problem, und mit diesem code bin ich nicht in der Lage, um herauszufinden, wie append mehrere Absätze, jede mit Ihren eigenen styling.

Kann mir jemand erklären, was ist falsch mit meinem Ansatz, oder zumindest, wie kann ich die Antwort von Remou Arbeit für meine Anforderungen? 🙂

Schreibe einen Kommentar