Export Macro Feintuning

n00del

Ensign
Registriert
Apr. 2013
Beiträge
204
Hallo,

benutze momentan folgendes Macro, um einen Serienbrief per PDF automatisch zu exportieren.
Nun würde ich es gerne ein wenig erweitern, damit bei schon einer vorhandenen Export Datei eine Meldung kommt, dass diese schon existiert und übersprungen wird.
Auch okay wäre nur überspringen ohne Meldung oder automatisches anfügen von z.b. Kopie im Dateinamen.

Vielleicht kann mir da jemand weiterhelfen.

Danke

Code:
Sub Export()
'
' Export
'
'

Dim Dateiname As String

Const path As String = "C:\"

On Error GoTo 0

Application.ScreenUpdating = False
Application.Visible = False

Dim LetzterRec As Long
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 & ActiveDocument.Fields.Update Then
.Destination = wdSendToNewDocument
.SuppressBlankLines = True

With .DataSource

.FirstRecord = .ActiveRecord
.LastRecord = .ActiveRecord


Dateiname = path & _
.DataFields("A").Value & "_" & .DataFields("B").Value & "_EXP" & _
".pdf" 'Dateiname = A_B_EXP.pdf'
End With
.Execute Pause:=False


ActiveDocument.ExportAsFixedFormat OutputFileName:= _
Dateiname, ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False
ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges

End If


If .DataSource.ActiveRecord < LetzterRec Then
.DataSource.ActiveRecord = wdNextRecord
Else
Exit Do
End If
Loop


End With


Application.Quit SaveChanges:=wdDoNotSaveChanges

End Sub
 
Irgendwie verstehe ich die Frage nicht, dass ist eine Sache von 10 Sekunden Google. Aber ich will mal nicht so sein

zwischen Zeile 38 und 39 einfügen

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(Dateiname )Then
Dateiname = path & .DataFields("A").Value & "_" & .DataFields("B").Value & "_EXP" & "neu.pdf"
End If
 
Erledigt! Sorry war mein Fail, lag am speichern auf C:\ (bin zwar als Admin drin aber egal)

Vielen Dank,
jetzt bleibt er beim Export stehen mit folgender Meldung:
Diese Datei kann nicht gespeichert werden, da sie schreibgeschützt ist.
Wenn Sie Ihre Änderungen behalten möchten .....

Markieren tut er folgende Stelle im Code:
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
Dateiname, ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False
 
Zuletzt bearbeitet: (Erledigt)
Zurück
Oben