Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1544to1548
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

Word Vorlage aus Excel VBA füllen

Word Vorlage aus Excel VBA füllen
15.03.2017 14:54:22
Flo
Hallo zusammen,
ich hab mal wieder eine Problem. Ich möchte aus einer Excelliste einen Brief erstellen.
Ich hab einen Ansatz gefunden und auch schon angepasst, nur ist die Laufzeit vom Makro etwas lang.
Momentan wird das Word Dokument im Hintergrund geöffnet und sofort ausgedruckt,
allerdings kommt beim schließen ein Meldung "bitte abwarten bis Ausdruck abgeschlossen"
Gibt es eine Möglichkeit das zu unterdrücken bzw. dies zu beschleunigen.
Es kann zudem vorkommen, dass mehrere Personen gleichzeitig dieses Schreiben drucken wollen, dadurch kommt eine Meldung "Dokument schreibgeschützt öffnen"
das sollte auch unterdrückt werden.
Super ware auch wenn man mehrere Zeilen markiert, dass dann für alle markierten Zeilen die Briefe gedruckt warden :)
Könnt ihr mir hier einen Tip geben wie ich das alles lösen kann?
Vielen Dank :)
Gruß Flo
Sub Test2()
Dim wrdApp
Dim wrdDoc
Dim Pfad As String
Pfad = "D:\test.docx"
On Error GoTo ErrorExit
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open(Pfad)
wrdApp.Visible = False
wrdDoc.FormFields("Text1").Result = Cells(ActiveCell.Row, 1)     'Kundenname
wrdDoc.FormFields("Text2").Result = Cells(ActiveCell.Row, 2)     'Strasse
wrdDoc.PrintOut
wrdDoc.Saved = False
wrdDoc.Close
ErrorExit:
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word Vorlage aus Excel VBA füllen
15.03.2017 16:31:28
Michael
Hallo!
Bzgl. Meldung "bitte abwarten bis Ausdruck abgeschlossen" unterdrücken
Da hilft evtl. vor dem PrintOut ein
wrdApp.DisplayAlerts = wdAlertsNone
einzufügen bzw. evtl. auch das Drucken im Hintergrund aktivieren
 wrdDoc.PrintOut Background:=True
(beides ungetestet).
Bzgl. mehrere Personen gleichzeitig
Da ist die Frage, ob das Word-Dokument nicht als Word-Dokumentenvorlage (.dotx) eingerichtet werden kann; dann ist der mehrfache Zugriff egal.
LG
Michael
Anzeige
AW: Word Vorlage aus Excel VBA füllen
21.03.2017 12:34:15
Flo
Hallo Michael,
ich habe mein Makro jetzt nochmal überarbeitet.
Funktioniert soweit, die Meldung beim Drucken erscheint leider noch.
Darum habe ich jetzt ein Application.Wait Now + TimeSerial(0, 0, 3) eingefügt.
Wenn Word zudem schon geöffnet ist, z.B. mit einem anderen Dokument dann wird dieses auch geschlossen.
Kann man das unterbinden?
Mein Makro sieht momentan so aus:
Sub Anschreiben()
Dim wrdApp As Object, wrdDoc As Object, strTemp As String
strTemp = "D:\test_2.0.dotx" 'Pfad zur Vorlage
On Error Resume Next
Set wrdApp = GetObject(, "Word.Application")
If wrdApp Is Nothing Then
Set wrdApp = CreateObject("Word.Application")
End If
With wrdApp
Set wrdDoc = .documents.Add(strTemp) 'Neues Dokument auf Basis der Vorlage erstellen
.Visible = False 'WORD-Fenster anzeigen
End With
wrdDoc.FormFields("Text1").Result = Cells(ActiveCell.Row, 1)     'Kundenname
wrdDoc.FormFields("Text2").Result = Cells(ActiveCell.Row, 2)     'Strasse
wrdDoc.PrintOut Background:=True
Application.Wait Now + TimeSerial(0, 0, 3)
wrdDoc.Saved = True
wrdDoc.Close
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
End Sub

Anzeige

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige