Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Word Serienbrief aus Excel starten

Mitglied: schubste24

schubste24 (Level 1) - Jetzt verbinden

16.10.2018 um 09:17 Uhr, 512 Aufrufe, 4 Kommentare

Hallo zusammen,

Ich habe da ein Problem, bei dem ich alleine leider nicht weiterkomme und um Eure Hilfe bitte.

Vor einiger Zeit habe ich mir einen VBA Code bauen lassen.
Dieser hat durch betätigen eines Buttons in Excel folgendes getan:

1. Öffnen der Quittung.docx (Pfad der Datei muss im VBA Code vorgegeben werden)
2. Ausführen der Serienbrieffunktion mit allen Daten der xlsm Datei
3. Speichern aller erzeugten Serienbriefe im PDF Format (alle Briefe in nur einer Datei, Ablageort muss wieder im VBA Code vorgegeben werden)
4. Speichern und automatisches (prozessbeendendes) schließen aller docx und der xlsm Dateien

Nun hat sich leider meine Excel Datenquelle verändert und seitdem funktioniert nichts mehr, was ich nicht verstehe, da die Exceldatenquelle ja im Code kaum erwähnt wird. Ich habe alles Mögliche ausprobiert, leider ohne Erfolg.

Der Code sieht folgender Maßen aus:

01.
Sub Quittungen_erstellen()
02.

03.
Dim wordfilepath             As String
04.

05.
Dim resultpath             As String
06.
''''''''''' path of word and document
07.
wordfilepath = "C:\Users\schub\Desktop\Quittung.docx"
08.
resultpath = "C:\Users\schub\Desktop\result.docx"
09.
pdffilepath = "C:\Users\schub\Desktop\Quittungen"
10.

11.

12.
Dim wd As Object
13.
   Dim wdocSource As Object
14.

15.
   Dim strWorkbookName As String
16.

17.
   On Error Resume Next
18.
   Set wd = GetObject(, "Word.Application")
19.
   If wd Is Nothing Then
20.
       Set wd = CreateObject("Word.Application")
21.
   End If
22.
   On Error GoTo 0
23.

24.
   Set wdocSource = wd.Documents.Open(wordfilepath)
25.

26.
   strWorkbookName = ThisWorkbook.Path & "\" & ThisWorkbook.Name
27.
  '' Debug.Print strWorkbookName
28.
   
29.
   wdocSource.MailMerge.MainDocumentType = wdFormLetters
30.

31.
   wdocSource.MailMerge.OpenDataSource _
32.
           Name:=strWorkbookName, _
33.
           AddToRecentFiles:=False, _
34.
           Revert:=False, _
35.
           Format:=wdOpenFormatAuto, _
36.
           Connection:="Data Source=" & strWorkbookName & ";Mode=Read", _
37.
           SQLStatement:="SELECT * FROM `Pflege_Namen_Quittung$`"
38.

39.

40.
       With wdocSource.MailMerge
41.
       .Destination = wdSendToNewDocument
42.
       .SuppressBlankLines = True
43.
       With .DataSource
44.
           .FirstRecord = wdDefaultFirstRecord
45.
           .LastRecord = wdDefaultLastRecord
46.
       End With
47.
       .Execute Pause:=False
48.
   End With
49.

50.
'wd.Visible = True
51.

52.
wd.ActiveDocument.SaveAs resultpath
53.
wd.ActiveDocument.Close SaveChanges:=False
54.

55.
'Print the document as a PDF
56.
   
57.
wdocSource.Close SaveChanges:=False
58.

59.

60.
Set wdocSource = wd.Documents.Open(resultpath)
61.
'''closing of word and excel
62.
    wdocSource.ExportAsFixedFormat pdffilepath & ".pdf", 17
63.
    
64.
    wdocSource.Close
65.
   ThisWorkbook.Saved = True
66.
   Application.Quit
67.

68.

69.
End Sub
Ich stelle hier mal meine Beispieldateien zur Verfügung. Öffnet man die .xlsm Datei, geht es speziell um den Button "Quittungen erstellen".

So wie ich das verstehe, hat der Programmierer einen Zwischenschritt mit der result.docx eingebaut. In dieser Datei werden alle Serienbriefe erstellt und das benötigte PDF erzeugt. Die Frage ist nur, ob dieser Zwischenschritt überhaupt nötig ist und ob es vielleicht einfacher geht.
Im Moment funktioniert gar nichts mehr. Betätige ich den Button Quittungen erstellen, erfolgt ein langes laden und dann folgt die Fehlermeldung "Microsoft Excel wartet auf die Beendigung einer OLE-Aktion in einer anderen Anwendung"

Außerdem habe ich noch folgendes herausgefunden. Deklariere ich meine xlsm Datei in den Eigenschaften als schreibgeschützt, öffne sie dann und betätige den Button "Quittungen erstellen", dann läuft es durch. Nur hat das so keinen Nutzen für mich, da die Tabelle ja immer wieder mit neuen Namen befüllt wird und durch den Schreibschutz kein Speichern der neuen Daten möglich ist.

Ich tüftle nun schon seit Tagen und wäre sehr dankbar, wenn jemand helfen könnte.

Besten Dank

Gruß Stefan
Mitglied: SeriousEE
LÖSUNG 16.10.2018 um 13:39 Uhr
Hallo Stefan,

Aus meiner Sicht funktioniert deine Excel Anwendung ganz gut sofern man die Daten nach links oben verschiebt beginnend mit A1.
Derzeit beginnen deine Daten in der Zelle B2, was für die Serienbrief-Funktion von Word nicht passt. Dadurch funktioniert auch die Zuordnung der Serienbrief-Felder nicht mehr.

Ggf. solltest du lieber die Schaltflächen woanders platzieren!

Viele Grüße
SeriousEE
Bitte warten ..
Mitglied: schubste24
16.10.2018 um 15:44 Uhr
Hallo SeriousEE,

Vielen Dank für Deine Antwort. Ich habe das jetzt mal umgebaut und erneut versucht. Leider bekomme ich beim Ausführen des Codes jetzt die Fehlermeldung, welche auf meinem Screenshot zu sehen ist.

2018-10-16_153657 - Klicke auf das Bild, um es zu vergrößern

Was ist das nun wieder? Liegt es an den vorgegeben Pfaden?

Besten Dank für Deine Hilfe.

Gruß Stefan
Bitte warten ..
Mitglied: SeriousEE
LÖSUNG 16.10.2018, aktualisiert um 16:21 Uhr
Ich kann aus dem Screenshot den Fehler noch nicht erkennen. Kann man das aktualisierte Excel Dokument im Google Drive Ordner hinzufügen?

Ich habe im wesentlichen nur folgendes mit deinen Daten gemacht:

  • Google Drive Daten herunterladen
  • Word Dokument "Quittung.docx" geöffnet und Datenquelle auf mein Verzeichnis aktualisiert.
  • Excel Dokument geöffnet:
  • Markieren von B2 nach G8 und verschieben nach A1
  • Alt + F11 -> 3x Pfade getauscht
  • Ausführen

PS: Das ganze System reagiert sehr sensibel auf Namensänderungen. Im Screenshot ist zu sehen, dass das Excel Dokument jetzt 2_Namen_&_Quittungen.xlsm statt 1_Namen_&_Quittungen.xlsm heißt!
Bitte warten ..
Mitglied: schubste24
16.10.2018 um 20:29 Uhr
Hallo SeriousEE,

Du hattest recht. Es funktioniert tadellos. Ich hatte vergessen, die Datenquelle im Word Dokument zu ändern. Wenn man alles ganz gewissenhaft einstellt, dann tut der Code was er soll. Mein Fehler war tatsächlich die oberste leere Zeile in der Datenquelle. Damit konnte der Serienbrief nichts anfangen. Jetzt bin ich wahnsinnig erleichtert und froh.

Vielen herzlichen Dank für Deine Hilfe!

Gruß Stefan
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Word 2013 Serienbrief erstellen: Word stürzt ab

Frage von schneerunzelMicrosoft Office3 Kommentare

Hallo zusammen, ich habe folgendes Problem: Wenn ich in Word 2013 einen Serien Brief erstellen möchte, scheitere ich immer ...

Microsoft Office

VBA Excel Makro - Serienbrief in Word aus Excel starten und anschließen einzeln speichern

gelöst Frage von abuelitoMicrosoft Office5 Kommentare

Hallo an Alle, ich möchte gerne aus Excel heraus mein Serienbrief starten und die Briefe einzeln speichern. Das bedeutet, ...

Microsoft Office

Serienbrief Word 2010 - Datenquellenüberschriften in Excel sind nicht in Zeile 1

gelöst Frage von RenateBMicrosoft Office15 Kommentare

Hallo, da denkt frau sie beherrscht nach 25 Jahren Word und dann das. Aufgabe: Serienbrieferstellung Word 2010 mit einer ...

Microsoft Office

Word Serienbrief - nur letzten befüllten Datensatz laden

Frage von adm2015Microsoft Office10 Kommentare

Hallo zusammen, weiß jemand ob man in einem Word Serienbrief nur den letzten befüllten Datensatz laden kann? Ich kann ...

Neue Wissensbeiträge
Off Topic
Europawahl 2019 - Ein Statement der Jugend
Information von Frank vor 17 StundenOff Topic12 Kommentare

Dies ist ein offener Brief. Ein Statement. Von einem großen Teil der Youtuber-Szene. Am Wochenende sind die EU-Wahlen und ...

Off Topic
Europawahl 2019
Information von Frank vor 1 TagOff Topic44 Kommentare

Vom 23. bis 26. Mai 2019 findet die Europawahl in den Mitgliedstaaten der Europäischen Union statt (ja auch in ...

Humor (lol)

Minister wollen offenbar Ausweispflicht für .de-Domain

Information von Kraemer vor 2 TagenHumor (lol)7 Kommentare

Zitat von Golem.de: Die zuständigen Verbraucherschutzminister fordern einem Medienbericht zufolge offenbar eine Ausweispflicht für .de-Domains. Das soll Betrugsfälle mit ...

Off Topic
Was als Noob hier mal gesagt werden musste
Information von th30ther vor 3 TagenOff Topic5 Kommentare

Moinsen wertes Forum, ich möchte mich an dieser Stelle mal beim Forum generell und bei aqui speziell bedanken! Ich ...

Heiß diskutierte Inhalte
Off Topic
Europawahl 2019
Information von FrankOff Topic44 Kommentare

Vom 23. bis 26. Mai 2019 findet die Europawahl in den Mitgliedstaaten der Europäischen Union statt (ja auch in ...

Router & Routing
ZyXEL ZyWALL USG 20 Routing
Frage von Oggy01Router & Routing18 Kommentare

Hallo, und wieder habe ich ein Problem mit dem Routing. Bis vor ein paar Tagen habe ich das mit ...

Off Topic
Europawahl 2019 - Ein Statement der Jugend
Information von FrankOff Topic12 Kommentare

Dies ist ein offener Brief. Ein Statement. Von einem großen Teil der Youtuber-Szene. Am Wochenende sind die EU-Wahlen und ...

Server-Hardware
Server Umbau
Frage von cyberworm83Server-Hardware10 Kommentare

Hallo zusammen, ich habe einen 19" Server (HP ProLiant DL160 G6) dieser ist auch super. ABER jetzt meine Frage: ...