Thema Datum  Von Nutzer Rating
Antwort
Rot Problem bei Serienbrief per VBA speichern
19.10.2016 02:18:57 Wolle9
NotSolved
19.10.2016 14:41:01 BigBen
NotSolved
19.10.2016 14:44:11 Gast88434
NotSolved
19.10.2016 18:24:24 BigBen
NotSolved

Ansicht des Beitrags:
Von:
Wolle9
Datum:
19.10.2016 02:18:57
Views:
1290
Rating: Antwort:
  Ja
Thema:
Problem bei Serienbrief per VBA speichern

Hi Leute,

 

ich habe vor einen Serienbrief, bei dem ich nur bestimmte Datensätze ausgewählt habe, nur diese bestimmten Datensätze als Datei zu speichern. Ich habe mir dazu folgendes Programm geschrieben:

Public Sub einzelnSpeichern()


Dim PfadMahnung As String
Dim sPfad As String
Dim Datenfeld As String

sPfad = ActiveDocument.Path & "\Mahnungen\"


With ActiveDocument.MailMerge
.DataSource.ActiveRecord = 0
   
'Anwendung unsichtbar
Application.Visible = False
   
   'Schleifenbeginn
   Do
      .Destination = wdSendToNewDocument                                'Erzeugen eines neuen (separaten) Dokuments
      .SuppressBlankLines = True
      
      With .DataSource
              .FirstRecord = .ActiveRecord
              .LastRecord = .ActiveRecord
              PfadMahnung = sPfad & Format(Date, "YYYY-MM-DD ") & "Mahnung " & .DataFields("Garagenname").Value & ".pdf"         'Dokumentennamen vergeben ==> Benennung nach ausgewähltem Datenfeld der Seriendruckquelle
      End With
      
      .Execute Pause:=False                                             'Ausführungspause verhindern

      ActiveDocument.SaveAs FileName:=PfadMahnung, FileFormat:=wdFormatPDF   'Einzeldokument für entsprechenden Datensatz als PDF speichern
      ActiveDocument.Close False                                        'Dok nicht schließen

      If .DataSource.ActiveRecord < .DataSource.RecordCount Then        'Wenn der aktive DS kleiner als die Anzahl der DS ist
         .DataSource.ActiveRecord = wdNextRecord                        'dann springe zum nächsten Datensatz
      Else
         Exit Do                                                        'sonst Schleifenabbruch, da alle DS durchgearbeitet wurden
      End If
      
    Loop
    'Schleifenende
    
  'Shell "Explorer.exe  /select, D:\*.pdf", vbNormalFocus               'Geht nicht
    
End With

'Anwendung sichtbar
Application.Visible = True

End Sub

 

Dabei habe ich zwei Probleme. .DataSource.RecordCount gibt ja den letzten aller Datensätze an. Wenn aber der letzte Datensatz nicht ausgewählt ist, kommt er ja nie zu diesem, sodass das Programm dann mit einer Fehlermeldung abstürzt. Gibts denn einen ähnlichen Befehl wie .DataSource.RecordCount, der sich auf den letzten markierten Datensatz bezieht?

Über 

Shell "Explorer.exe  /select, D:\*.pdf", vbNormalFocus

würde ich gern alle PDF Dateien in dem Ordner markieren. So funktionierts nicht. Hat jemand ne Lösung?


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Problem bei Serienbrief per VBA speichern
19.10.2016 02:18:57 Wolle9
NotSolved
19.10.2016 14:41:01 BigBen
NotSolved
19.10.2016 14:44:11 Gast88434
NotSolved
19.10.2016 18:24:24 BigBen
NotSolved