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

Excel mit VBA verschiedene Serienbriefe erstellen

Excel mit VBA verschiedene Serienbriefe erstellen
01.02.2019 10:29:15
Anja
Hallo Ihr Lieben,
ich stehe vor folgender Problematik:
Habe in Word 3 verschiedene Serienbriefe und dazu eine einzige Excelliste.
Je nachdem welche Zahl in der Excel-Spalte A steht (1, 2 oder 3) möchte ich automatisch aus der entsprechende Word-Datei (SB1, SB2, SB3) die Serienbriefe erzeugen.
Da die Serienbriefe für jeden Eintrag ein einzelnes Word-Dokument ausgegeben sollen, habe ich _
hierfür schon einen super funktionierenden VBA-Code, den ich bisher in Word ausführe:

Sub aaaaSerienbrief()
' set variables
Dim iBrief As Integer, sBrief As String
Dim AppShell As Object
Dim BrowseDir As Variant
Dim Path As String
' catch any errors
On Error GoTo ErrorHandling
' determine path
Set AppShell = CreateObject("Shell.Application")
Set BrowseDir = AppShell.BrowseForFolder(0, "Speicherort für Serienbriefe auswählen", 0, 16) _
_
_
_
If BrowseDir = "Desktop" Then
Path = CreateObject("WScript.Shell").SpecialFolders("Desktop")
Else
Path = BrowseDir.items().Item().Path
End If
If Path = "" Then GoTo ErrorHandling
Path = Path & "\Serienbrief-" & Format(Now, "dd.mm.yyyy-hh.mm.ss") & "\"
MkDir Path
On Error GoTo ErrorHandling
' hide application for better performance
MsgBox "Serienbriefe werden exportiert. Dieser Vorganag kann einige Minuten dauern -  _
Microsoft Word wird während dieser Zeit ausgeblendet", vbOKOnly + vbInformation
Application.Visible = False
' create bulkletter and export as docx
With ActiveDocument.MailMerge
.DataSource.ActiveRecord = 1
Do
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = .ActiveRecord
.LastRecord = .ActiveRecord
sBrief = Path & .DataFields("ID").Value & ".docx"
End With
.Execute Pause:=False
If .DataSource.DataFields("ID").Value > "" Then
ActiveDocument.SaveAs FileName:=sBrief, FileFormat:=wdFormatdocx
End If
ActiveDocument.Close False
If .DataSource.ActiveRecord  0 Then
MsgBox "Unbekannter Fehler: " & Err.Number & " - Bitte Makro erneut ausführen.",  _
vbOKOnly + vbCritical
Else
MsgBox "Serienbriefe erfolgreich exportiert", vbOKOnly + vbInformation
End If
End Sub

Damit auch meine Kollegen davon profitieren, möchte ich gerne einen Button in die Excelliste setzen, den sie nur noch anklicken müssen und dann werden automatisch die Serienbriefe erstellt (also auch gleich für alle Werte (1, 2 und 3) in Spalte A).
Über Hilfe würde ich mich unglaublich freuen!!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel mit VBA verschiedene Serienbriefe erstellen
01.02.2019 13:29:12
Anja
Ist es überhaupt möglich, einen Word VBA-Code in Excel zu übernehmen?
AW: Excel mit VBA verschiedene Serienbriefe erstellen
01.02.2019 15:02:19
Niclaus
Hallo Anja
"einen Word VBA-Code in Excel zu übernehmen?" - Das weiss ich nicht. Aber man kann von Excel aus ein Word-Dokument, das ein Makro enthält, öffnen und dieses Word-Makro starten. Das Makro in Excel könnte lauten:
Sub open_word_mMakro()
Dim AppWD As Object
Set AppWD = CreateObject("Word.Application")
AppWD.Documents.Open "D:\TestWordDatei.docm"
AppWD.Visible = True
AppWD.Run "testmakro"
Set AppWD = Nothing
End Sub
Die Word-Datei "TestWordDatei.docm" enthält ein Makro "testmakro"
Ein Serienbrief-docm (mit Deinem Makro) zu öffnen und zu verarbeiten, ist mir nicht gelungen. - Der Serienbrief verliert immer die Verknüpfungen zur Excel-Tabelle. Es kommt dann jeweils Meldung, das Dokument sei kein Serien-Dokument . Woran das liegen mag?
Grüsse Niclaus
Anzeige
AW: Excel mit VBA verschiedene Serienbriefe erstellen
01.02.2019 15:29:25
Anja
Ja ich bekomme tatsächlich die gleiche Fehlermeldung wie du....
Ich habe im Internet noch irgendwas mmit dem Befehl "mailmerge.opendatasource" gefunden aber keine Ahnung was da steht, die schmeissen nur mit irgendwelchen VBA Codes um sich und als Laie kann man das gar nicht verstehen :((
AW: Excel mit VBA verschiedene Serienbriefe erstellen
05.02.2019 07:38:22
Anja
Ist hier niemand, der mir helfen kann? :(

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige