AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Word Template zusammenführen

Ein Thema von EarlyBird · begonnen am 6. Okt 2009 · letzter Beitrag vom 7. Okt 2009
Antwort Antwort
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#1

Word Template zusammenführen

  Alt 6. Okt 2009, 12:33
Hallo,
Ich möchte ein Worddokument erstellen das für jeden Datensatz einer Tabelle eine eigene Seite enthält.
Ich habe es mit Mailmerge probiert aber da klappt es nicht mit der Nummerierung der Seiten.
(Die Nummerierung jeder Seite beginnt wieder bei 1, was nicht gewollt ist)
Nun möchte ich das Ganze mit einem Template lösen.
Ich habe in Word ein Template erstellt in dem ich Bookmarks für jedes Tabellenfeld eingefügt habe.
Nun öffne ich ein neues Dokument, mit dem Template als Vorlage, in meinem Programm
Das Dokument fülle ich mit dem Inhalt eines Datensatzes.
Soweit so gut .
Aber wie schaffe ich es nun den Text aus dem neuen Dokument in ein neues „ZielDokument“ einzufügen?
Und wie kann ich es anstellen das ich das Template nur einmal öffnen muss?
Im Augenblick schließe ich es und öffne es neu damit ich wieder eine Leeres neues Dokument aus meinem Template erhalte.
bei mehreren hundert Datensätzen ist das Ganze dann ziemlich langsam.

Vieleicht liege ich auch ganz falsch mit meiner Vorgehensweise.
Bin für jeden Rat und Tipp dankbar

Gruß Edgar
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Word Template zusammenführen

  Alt 6. Okt 2009, 21:26
Hallo

Das Problem ist evtl, daß beim Serienbrief und mailmerge immer ein Abschnittswechsel und kein Seitenumbruch eingefügt wird. Wenn Du die Seitenzahlen mit "Einfügen->Seitenzahlen->Format" siehst du es ganz unten -> mit der Standardeinstellung wird immer pro Abschnittswechsel wieder bei 1 begonnen. Ich kann Dir aber leider nicht sagen wie Du das für die Serienbriefe rausbekommst.

Wie übergibst Du denn momentan die Daten für den Serienbrief? Per Text? Dann würde ich einfach noch ein zusatzfeld mit übergeben. Wenn Du pro Datensatz eine Seite hast, hast Du doch gleich die aktuelle Seite, das ist wahrscheinlich das einfachste.

Ansonsten könntesnt Du noch mit den Formel-Felder oder der Feldfunktion und "Listnum" experimentieren.

Zusammenfügen würde ich die Doks nicht, das wird sicher grottenlangsam. Aber ich bin der Meinung, das es hier oder im DF schonmal einen Thraed dazugab, finde den nur nicht so schnell.

Gruß Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#3

Re: Word Template zusammenführen

  Alt 7. Okt 2009, 06:38
Zitat von Keldorn:
Das Problem ist evtl, daß beim Serienbrief und mailmerge immer ein Abschnittswechsel und kein Seitenumbruch eingefügt wird.
Stimmt. Leider lässt sich das auch nicht ändern.
Ich habe auf jeden Fall nichts gefunden.
Ich habe auch versucht die Abschnittswechsel in Seitenumbrüche zu ändern aber das ist auch sehr sehr langsam.

Zitat von Keldorn:
Wie übergibst Du denn momentan die Daten für den Serienbrief? Per Text? Dann würde ich einfach noch ein zusatzfeld mit übergeben. Wenn Du pro Datensatz eine Seite hast, hast Du doch gleich die aktuelle Seite, das ist wahrscheinlich das einfachste.
Du meinst ich soll die Seitennummerierung selbst eintragen?
Das geht leider nicht, da das fertige Dokument noch weiter bearbeitet wird und so die Seitennummerierung nicht mehr stimmen würde.

Ich experimentiere gerade mit copy & past, das schein aber auch nicht der beste weg zu sein.

Besten Dank für Deine Tipps Frank

Bin nur leider noch nicht weiter gekommen.
Wenn noch jemand einen Tipp oder Hinweis hat, würde mich sehr freuen.

Gruß Edgar
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#4

Re: Word Template zusammenführen

  Alt 7. Okt 2009, 08:29
Ich mache es jetzt so:
Mit Mailmerge erstelle ich das Dokument und anschließend setzte ich alle Pagenumbers auf RestartNumberingAtSection = False

Mit diesem Code.
Delphi-Quellcode:
    For I := 1 To WordApplication1.ActiveDocument.Sections.Count do
      begin
        For X := 1 To WordApplication1.ActiveDocument.Sections.Item(I).Headers.Count do
          begin
            WordApplication1.ActiveDocument.Sections.item(I).Headers.Item(X).PageNumbers.RestartNumberingAtSection = False
          end;
      end;
Das Dokument wird dabei noch nicht angezeigt.
Trotzdem dauert das setzen der RestartNumberingAtSection recht lange.
Kennt Ihr eine schneller oder bessere Methode?

Gruß Edgar
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz