none
Paste ohne Format RRS feed

  • Frage

  • Hallo!

    Der Teufel steckt im Detail ...

    Word Programmierung

    Ich möchte einen Abschnitt eines Worddokumentes mit Kopf und Fußzeile in einen anderen Abschnitt des gleichen Dokuments kopieren.

    Ich setze das Range-Objekt auf den Anfang und Ende des Quell-Absatzes, führe die Copy-Methode aus, setze ein anderes Range-Objekt auf den Ziel-Absatz und führe die Paste-Methode aus.

    rngAbsch = Dokument.Sections[dicDokAbschNr["Kuendigung"]].Range;                    // Bereich für den Abschnitt => Kündigung, bestimmen
    rngAbsch.Copy();                                                                    // Kündigung in die Zwischenablage kopieren
    rngEP = ar_Word.Word_Dokument_Ende(Dokument);                                       // Lezte Position des Dokuments ermitteln
    // rngEP.PasteAndFormat(Microsoft.Office.Interop.Word.WdRecoveryType.wdPasteDefault);  // Inhalt aus der Zwischenablage einfügen
    rngEP.Paste();  // Inhalt aus der Zwischenablage einfügen

    Es wird auch der gesamte Absatz mit Kopf und Fußzeile kopiert, aber bei der Fußzeile werden die Tabulatoren nicht mit kopiert (Standard Tabulatoren werden angezeigt). Da dieser Bereich in Tabellenform aufgebaut ist, gerät alles durcheinander.

    Woran könnte das liegen?

    Anmerkung: Wenn ich den Absatz von Hand markiere und über die Zwischenablage kopiere/einfüge, wird alles korrekt ausgeführt/angezeigt.


    • Bearbeitet perlfred Dienstag, 21. Juli 2015 09:21 Details
    Dienstag, 21. Juli 2015 09:19

Antworten

  • Sorry, Sorry, Sorry!

    Ich überschreibe 200 Zeilen weiter unten diese Fußzeile!!!!

    Fred.


    • Als Antwort markiert perlfred Dienstag, 21. Juli 2015 14:46
    • Bearbeitet perlfred Dienstag, 21. Juli 2015 15:05 Formatierung
    Dienstag, 21. Juli 2015 14:46

Alle Antworten

  • Hallo,

    werden die Fußzeile und Kopfzeile nicht automatisch eingefügt, wenn man eine neue Seite einfügt?

    Als Alternative kann man die Fußzeile manuell ändern:

    Word.Document activeDoc = this.Application.ActiveDocument;
    activeDoc.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Text im Fusszeile";

    Grüße

    Dienstag, 21. Juli 2015 14:21
  • Sorry, Sorry, Sorry!

    Ich überschreibe 200 Zeilen weiter unten diese Fußzeile!!!!

    Fred.


    • Als Antwort markiert perlfred Dienstag, 21. Juli 2015 14:46
    • Bearbeitet perlfred Dienstag, 21. Juli 2015 15:05 Formatierung
    Dienstag, 21. Juli 2015 14:46
  • Hallo Iso7!

    Was mich so irritiert hatte, war ja, das der Text der Fußzeile kopiert wurde, die Tabstopps jedoch nicht. Bei Paste wird ja alles kopiert.

    Ich hatte übersehen, dass ich den Fußzeilentext (ähnlich deinem Beispiel [Fußzeilentyp noch beachten!]) separat 200 Zeilen weiter unten noch einmal kopiere und dadurch werden die Tabstopps gelöscht.

    Trotzdem Danke!! für deine Hilfe!

    Fred.

    Dienstag, 21. Juli 2015 15:04