Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aus Excel ein WOrd Dokument vorbereiten

Aus Excel ein WOrd Dokument vorbereiten
18.02.2023 12:40:12
HERFF
Hallo zusammen,
nach langer Zeit brauche ich nochmals Eure Hilfe.
Es geht um einen Vertrag an dem zusätzliche drei Seiten hinzugefügt werden.
Er schließt mit "Abschnittswechsel, nächste Seite" ab. Dies, weil die weiteren Seiten nicht mehr die Kopf- und Fußzeile enthalten sollen.
Seit einigen Wochen fügt das Programm jetzt "automatisch" einen zusätzlichen Abschnittswechsel, nächste Seite hinzu.
Das führt zu einer leeren Seite.
Beim Druck, alles gut, wir können die Seite löschen.
Anders beim Versenden per Mail. Hier wird eine PDF erstellt und da bleibt dann die leere Seite drin.
Hat jemand ähnliches erlebt?
Kann mir jemand helfen, eine Lösung zu finden?
Vielen Dank.
Hier der Code:

    ' Erstellen Serienbrief
    Set objWinWord = CreateObject("Word.Application")
    With objWinWord
        .Visible = True
        .WindowState = 0
        Set objWinDoc = .Documents.Open(strPfadDatei)
    End With
    With objWinDoc
        With .MailMerge
            .OpenDataSource Name:=strQuelle, LinkToSource:=True, Format:=0, _
                SQLStatement:="SELECT * FROM `Tabelle1$`"
            .Destination = 0
            .SuppressBlankLines = True
            With .DataSource
                    .FirstRecord = 1
                    .LastRecord = 1
            End With
            .Execute Pause:=False
            .DataSource.Close
        End With
    End With
    Set objDocSerienbrief = objWinWord.Documents(1)
    objWinDoc.Close False
    ' Hinzufuegen "Allgemeine Bestimmungen"
    With objWinWord.Selection
        .WholeStory
        .Fields.Update
        .EndKey END_OF_STORY, MOVE_SELECTION
        .InsertFile fileName:=Hilfstabellen.Range("C46") & strSep & _
            Hilfstabellen.Range("C60"), Range:="", ConfirmConversions:=True, _
            link:=False, Attachment:=False
    ' Hinzufuegen "Begleitschreiben" und "Weg zur Tonne"
        If Vertragsmatrix.Range("G7") = "D" Then
            .Collapse Direction:=wdCollapseEnd
            .InsertParagraphAfter
            .InsertBreak Type:=wdSectionBreakNextPage
            .InsertFile fileName:=Hilfstabellen.Range("C46") & strSep & Hilfstabellen.Range("C58")
            .Collapse Direction:=wdCollapseEnd
            .InsertParagraphAfter
            .InsertBreak Type:=wdSectionBreakNextPage
            .InsertFile fileName:=Hilfstabellen.Range("C46") & strSep & Hilfstabellen.Range("C74")
          Else
            .Collapse Direction:=wdCollapseEnd
            .InsertParagraphAfter
            .InsertBreak Type:=wdSectionBreakNextPage
            .InsertFile fileName:=Hilfstabellen.Range("C46") & strSep & Hilfstabellen.Range("C59")
            .Collapse Direction:=wdCollapseEnd
            .InsertParagraphAfter
            .InsertBreak Type:=wdSectionBreakNextPage
            .InsertFile fileName:=Hilfstabellen.Range("C46") & strSep & Hilfstabellen.Range("C75")
        End If
        .EndKey Unit:=wdStory
        .MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        .Delete Unit:=wdCharacter, Count:=1
        .HomeKey Unit:=WD_STORY
    End With
    ' Per Outlook-mail senden (Pdf erstellen, Word schliessen)
    With objDocSerienbrief
        If Mail Then
            .ExportAsFixedFormat Outputfilename:= _
            Hilfstabellen.Range("C44") & strSep & Hilfstabellen.Range("C72") & strSep & "Mail.pdf" _
              , ExportFormat:=wdExportFormatPDF
            DoEvents
            .Close False
            MailSenden
            objWinWord.Quit
          Else
            .Application.Activate
        End If
    End With

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus Excel ein WOrd Dokument vorbereiten
18.02.2023 13:21:57
JoWE
Hallo,
Du sagst "Er schließt mit 'Abschnittswechsel, nächste Seite' ab",
Demzufolge ist bereits ein Abschnittswechsel vorhanden.
Im Code aber fügst Du noch einen zusätzlichen Abschnittswechsel ein:
.InsertParagraphAfter
.InsertBreak Type:=wdSectionBreakNextPage

versuche doch mal diese beiden Anweisungen auszukommentieren.
Passiert der Fehler dann immer noch?
Gruß
Jochen
AW: Aus Excel ein WOrd Dokument vorbereiten
18.02.2023 15:27:47
HERFF
Hallo Jochen,
danke für Deine Antwort.
An den Stellen, wo
InsertParagraphAfter
.InsertBreak Type:=wdSectionBreakNextPage

steht, ist alles in Ordnung. Das sind die Dokumente drei und vier.
Der Fehler ist zwischen dem Hauptdokument,
zwischen dem objWinDoc.Close False
Dem Kommentar "Hinzufuegen "Allgemeine Bestimmungen"
und dem zweiten Dokument.
Dort entsteht das ungewollte Einfügen eines Abschnittwechsels.
Anzeige
AW: Aus Excel ein WOrd Dokument vorbereiten
18.02.2023 15:41:24
JoWE
Ja, genau diese Stelle meinte ich.
AW: Aus Excel ein WOrd Dokument vorbereiten
18.02.2023 16:07:25
JoWE
...es ist wohl kaum möglich die Fehlerursache zu finden ohne die zu Grunde liegenden Dokumente und die Arbeitsmappe vorliegen zu haben. Vielleicht kannst Du da etwas mit anonymisierten Angaben zusammenstellen und hochladen?
AW: Aus Excel ein Word Dokument vorbereiten
19.02.2023 16:18:17
HERFF
Die Arbeitsmappe kann ich unmöglich hochladen. Es gibt dort zusäzliche Mappen, die aus anderen Quellen kommen. Das alles müsste dann dabei sein. Aber das wäre sehr aufwendig.
Wie gesagt, das hat sieben Jahre einwandfrei funktioniert.
Seit einigen Wochen ist dann diese Leerseite erschienen.
Es hat keine Änderungen, weder an den Dokumenten, noch an der Arbeitsmappe gegeben...
Leider kann ich die anonymisierten Dokumente nicht hochladen. Es handelt sich um Word 365 Dateien mit Endung docx. Das ist hier nicht möglich.
Wenn ich die Dokumente als Word 97-2003 abspeichere, sehen sie nicht mehr so aus, wie das Original...
Was kann ich tun?
Anzeige

143 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige