Registriert seit: 29.03.2017
Version(en): 2010
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
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi,
das klingt interessant.
Ich hole die Frage mal wieder in den Vordergrund.
Registriert seit: 29.03.2017
Version(en): 2010
(11.05.2018, 04: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
Registriert seit: 29.03.2017
Version(en): 2010
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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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" }
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)