Daten aus Excel in Word/PDF exportieren
#1
Guten Abend zusammen,

ich habe folgendes Problem: In einer großen Excel-Datei sind Daten abgelegt, die in eine Word oder PDF-Datei eingefügt werden müssen. Zurzeit mache ich dies von Hand, ich würde es aber gerne automatisieren. müssen. Dabei gibt es zwei Schwierigkeiten:

1. Jedes Dokument muss ca. 30 mal mit unterschiedlichen Datensätzen ausgefüllt werden, die in Excel in einer Tabelle untereinander stehen. Idealerweise möchte ich also einmal auf das Makro o.Ä. drücken und ein 30/60-Seitiges Pdf-Dokument erhalten (Je nachdem, ob das Formular eine oder zwei Seiten hat, sie 2.)

2. Die Formulare unterscheiden sich von Mal zu Mal, sodass die Datensätze zum einen immer an unterschiedlichen Positionen und zum anderen manchmal nur auf einer, manchmal auf zwei Seiten stehen müssen. Die Anzahl der Felder, die ausgefüllt werden muss variiert ebenfalls

Idealerweise würde eine Lösung folgendermaßen aussehen: Ich erstelle das Formular in Word. In Excel gebe ich in einigen Zellen die Anzahl der Formularfelder und den Dateinamen der Word-Datei an und klicke auf "Drucken". Ich erhalte ein 30-seitiges PDF, in dem die Daten automatisch in die entsprechenden Textfelder eingesetzt wurden.

Bisher habe ich alle meine Excel-Probleme mit Formeln oder einfachen Makros lösen können, aber hier habe ich absolut keine Idee. Auch für einen Verweis auf ein ähnliches Problem wäre ich sehr dankbar, ich konnte leider nichts dergleichen finden.
Top
#2
Hallo Martina,
wäre es nicht als Word-Serienbrief einfacher?
Wenn nicht, könnte man ein Makro basteln, dazu wären natürlich ein paar Dateibeispiele nötig.
Könnte auch als PN laufen...
Gruß der AlteDresdner (Win11, Off2021)
Top
#3
Hallo,

sofern in allen (verschiedenen) Word-Docs die Bookmarks (an verschiedenen Stellen) die selben Namen haben, sollte es relativ einfach gehen.

D.h., nach einer ordentlichen Vorarbeit kann ein Makro das erledigen.

mfg
Top
#4
(21.01.2020, 19:47)Fennek schrieb: sofern in allen (verschiedenen) Word-Docs die Bookmarks (an verschiedenen Stellen) die selben Namen haben, sollte es relativ einfach gehen.
oder man muss die Bookmarks halt einfach der Reihe nach benennen (M1, M2,...)
Gruß der AlteDresdner (Win11, Off2021)
Top
#5
Hallo Alter Dresdner,


Zitat:Könnte auch als PN laufen...

das ist definitiv ein ganz schlechter Rat. Fragen und Lösungen bitte nur als Beiträge, alles andere ist unfair den Mitlesenden und Suchenden gegenüber.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#6
Hallo Günther,
ich meinte damit die Words, falls die irgendwelche Interna beinhalten.
Das Makro würde natürlich hier landen...
Gruß der AlteDresdner (Win11, Off2021)
Top
#7
Hallo AlterDresdner,

meines Wissen kannst Du bei einer PN keine Dateien mitschicken.
Gruß Stefan
Win 10 / Office 2016
Top
#8
Hallo zusammen und vielen Dank für die vielen schnellen Antworten!

Den Ansatz mit den Bookmarks würde ich gerne weiterverfolgen. Die echten Dateien darf ich nicht veröffentlichen, aber ich habe Beispieldateien gebaut, die ihr euch ansehen könnt. Wie ihr seht ist es im Prinzip relativ simpel, ich habe hier in der Word-Datei beispielhaft eingefügt, wie es für die erste Zeile aussehen müsste. M1 wären immer die Daten aus spalte B, also hier z.B. B2&"-"&B5, B3&"-"&"B5", B4&"-"&B5 und analog für M2 mit C und so weiter.

Wie würde das mit dem Makro denn für dieses Beispiel funktionieren? Ich denke auf meinen etwas aufwendigeren, aber im Prinzip gleichen Fall kann ich das dann übertragen. 

Danke euch!

MartinaS


Angehängte Dateien
.xlsx   ExBsp.xlsx (Größe: 9,37 KB / Downloads: 9)
.docx   WoBsp.docx (Größe: 18,22 KB / Downloads: 11)
Top
#9
Hallo,

hier der Beispielcode von snb:
(Excel-VBA)

Code:
sub M_snb()
       With CreateObject("word.document")
          .Content = String(30, vbCr)
          .bookmarks.Add "snb", .Paragraphs(12).Range
      End With
    End Sub

Und wenn der Bookmark ein Range sein sollte:

Code: Alles auswählen
    Sub M_snb()
       With CreateObject("word.document")
          .Content = String(30, vbCr)
          .bookmarks.Add "snb", .Range(.Paragraphs(12).Range.Start, .Paragraphs(20).Range.End)
      End With
    End Sub

mfg

----------------------------------
PS: Falls Du das folgende nicht verstehts, ignoriere es einfach:

In dem Word-Doc sind einige Base64-encodierte Zeilen, die mehrfach "PK", also ge-zippten Codes enthalten. Es könnten die Bookmarks sein, jedenfalls hatte ich so etwas noch nie (bzw. nur in einem anderen Zusammenhang) gesehen.

Stimmt es, dass du die englische Version von Office 2013 nutzt?
Top
#10
Hallo, danke für deine Nachricht.

Ich habe den Beispielcode in die Exceltabelle eingefügt, aber es wird nur Dokument erstellt, bei dem es eine Textmarke "snb" gibt (danach sieht der Code für mich auch aus). Ich verstehe leider noch nicht so ganz, wie mir das weiterhelfen soll...?
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste