Word via VBA an wechselnden Speicherort ablegen

Moderator: ModerationP

Word via VBA an wechselnden Speicherort ablegen

Beitragvon hhfriesen » 22. Jul 2021, 13:17

[edit by CaBe: Code als Code formatiert]
Guten Tag zusammen, nach dem ich mir in diesem Forum schon Teile zusammen gesucht habe um einen Serienbrief einzeln abzulegen habe ich jetzt noch ein Problem diesen einer Firma bzw dem dazugehörigen Ordner zuzuordnen und in dem entsprechenen Ordner abzulegen. Also alle Dokumente die so entstehen den unterschiedlichen Firmen also 1-10 zuzuordnen.
Vielleicht gibt es da einen pfiffigen Freund des VBA's, der mir dort weiter helfen kann. Anbei mal den Quellcode Es soll also in dieser Zeile der Firmenname hinter dem Netzlaufwerk rein. Dies habe ich mit der Funktion .DataFields("Firma").Value versucht aber das geht so nicht :(

path = "\\ger-fps51\TD_EB_WW\00_Arbeitssicherheit\Unterweisung_für_Fremdfirmen_vor_Ort\2021\00_WW_Jahresstillstand_2021\" & .DataFields("Firma").Value & "\"

Code: Alles auswählen
Sub Serie2Einzeldoc()
'
' Druckt Serienbrief in einzelne Dokumente aus
'
Dim Dateiname As String
Dim LetzterRec As Long
Dim Speicherort As String
Application.ScreenUpdating = False
Application.Visible = False

Dim path As String
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
                path = "\\ger-fps51\TD_EB_WW\00_Arbeitssicherheit\Unterweisung_für_Fremdfirmen_vor_Ort\2021\00_WW_Jahresstillstand_2021\" & .DataFields("Firma").Value & "\"
               
                Dateiname = path & .DataFields("Firma") & "_" & .DataFields("Ort_2") & "_" & .DataFields("Nummer") & ".doc"
                End With
                .Execute Pause:=False
               
                ActiveDocument.SaveAs FileName:=Dateiname        'Speichern unter 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
hhfriesen
 

Zurück zu Word Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste