Hallo allerseits,
ich stoße an meine Grenzen:
Ich möchte einen Serienbrief erstellen, der geschützte, fortlaufende Abschnittswechsel enthält. Sobald ich das Dokument schütze, kann ich keinen Serienbrief generieren
Ein nice to have wäre noch, dass sich die einzelnen Dokumente in einzelne Dateien ausgeben lassen, deren Name aus den Serienbrieffeldern generiert werden kann.
Ich hoffe, dass jemand von Euch mir helfen kann...
Beste Grüße
nana
Hi,
das klingt interessant.
Ich hole die Frage mal wieder in den Vordergrund.
(11.05.2018, 03:56)Rabe schrieb: [ -> ]das klingt interessant.
Leider bloß ohne Lösungsansätze.
Ich bin minimal vorangekommen. Rich-Text Inhaltssteuerelemente bleiben in den ausgegebenen Serienbriefen und können editiert werden, so dass ich mir die Nummer mit den geschützen Abschnittswechseln sparen kann.
Andere Probleme bleiben / kommen hinzu:
- In manche Rich-Text Inhaltssteuerelemente sollen nur ganze Zahlen mit 1.000er Trennpunkt eingegeben werden können. Geht das? Wenn ja, wie?
- Jeder Datensatz des Serienbriefes soll als einzelne Datei ausgegeben werden (wahrscheinlich VBA?)
- Diese Datei soll sich den Namen aus der Quelle des Serienbriefes ziehen.
Hmmmm... Wird leider nicht einfacher....
Sonnige Grüße
nana
Ich komme voran... Punkte 2+3 sind gelöst....
Es bleibt die Frage, wie man diese Rich-Text Inhaltssteuerelemente zu Zahlen formatiert....
Code:
Sub Ausgabe_einzelne_Dateien()
'
'
' Druckt Serienbrief in einzelne Dokumente aus
'
Dim Dateiname As String
Dim LetzterRec As Long
Application.ScreenUpdating = False
Application.Visible = False
Const path As String = "C:\Dokumente\Zielordner\"
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdLastRecord
LetzterRec = Word.ActiveDocument.MailMerge.DataSource.ActiveRecord
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord
With ActiveDocument.MailMerge
.DataSource.ActiveRecord = wdFirstRecord
Do
If .DataSource.ActiveRecord > 0 Then
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = .ActiveRecord
.LastRecord = .ActiveRecord
Dateiname = path & .DataFields("Überschrift Spalte A").Value & "_" & .DataFields("Überschrift Spalte B").Value & ".docx"
End With
.Execute Pause:=False
ActiveDocument.SaveAs FileName:=Dateiname
ActiveDocument.Close False
End If
If .DataSource.ActiveRecord < LetzterRec Then
.DataSource.ActiveRecord = wdNextRecord
Else
Exit Do
End If
Loop
End With
Application.Visible = True
Application.ScreenUpdating = True
End Sub
Hallöchen,
eventuell denke ich in die falsche Richtung - meinst Du die Formatierung der Felder? Mit ALT+F9 Anzeigen und dann formatieren, z.B.
{ MERGEFIELD Zahl \# "#.##0" }