Per VBA Seriendruckfeldinhalt ändern

  • Word

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Volker Bunge.

    Per VBA Seriendruckfeldinhalt ändern

    Hallo zusammen,

    ich habe mir ein kleine SUB gebastelt, mit der ich einen Serienbrief erstelle und die einzelnen Briefe werden als PDF-Datei mit einem individuellen Dateinamen abgespeichert.

    Jetzt möchte ich aber gerne, dass der aktuelle Datensatz in einem Feld das aktuelle Datum/Uhrzeit einträgt. Somit kann ich über dieses Feld später nachvollziehen, welche Datensätze schon gedruckt wurden und wann.

    Gibt es da eine Möglichkeit? ActiveDocument.MailMerge.DataSource.DataFields("Datum) = now funktioniert leider nicht (Unzulässige Verwendung einer Eigenschaft). Die Änderung soll, abhängig von der Datenuquellenart (also Excel oder Access) funktionieren. Somit müssten es ggf. zwei Lösungen sein, die ich suche.

    Was ich mir auch noch vorstellen könnte ist folgendes:
    Beim Durchlaufen merke ich mir bspw. den Inhalt von dem ID-Feld und würde dann am Ende die Datenquelle öffnen und all die betroffenen Datensätze nachträglich ändern.

    Wäre toll, wenn das gehen würde und mir einer einen Tipp geben könnte.

    Gruß
    Volker
    Meines Wissen nach sind die MailMergeFelder Einbahnstraßen. Man kann die Daten Lesen aber nicht schreiben.

    Du müsstest mit Deinem Sub die Daten auf der Datenseite aktualisieren.


    Alternative kannst Du Dir ja auch den Seriendruck über VBA nachbauen, in dem Du in der Worddatei Textmarken hast, die dann per Code gefüllt werden. In so eoiner Routine kannst Du dann natürlich auch die Daten verändern.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „INOPIAE“ ()

    Hallo INOPIAE,

    vielen Dank für die Info.

    Habe mir aber schon so etwas gedacht, dass man nicht direkt den aktuellen Datensatz bearbeiten kann, aber aufgrund der guten Geschwindigkeiten (127 Datensätze über je 7 Seiten, braucht mein Rechner ca. 7 Minuten) kommt es dann auch nicht auf die genaue Minute an.

    Ich glaube, ich habe erst einmal eine Lösung gefunden.

    Das ganze Projekt hat jetzt noch eine kleine Eingabemaske bekommen. Hier kann ich auch die Stückzahl eingeben, die erstellt werden soll. Wenn alles erledigt ist, gehe ich jetzt her und öffne die bekannte Datenbank und schreibe in so viele Datensätze das aktuelle Datum rein, die gerade gedruckt wurden. Da der Druck ja von oben nach unten geht, sind am Ende auch alle Datensätze mit dem Datum versehen, die gedruckt wurden.

    Jetzt muss ich daraus noch ein kleines Add-In machen und dann wäre ich erst einmal fertig damit.

    Schönes Wochenende noch.

    Volker