Fehler bei PDF Generierung - Laufzeitfehler

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Fehler bei PDF Generierung - Laufzeitfehler
von: Matthias
Geschrieben am: 26.11.2015 13:05:12

Hallo liebe Helfer,
ich habe ein Problem bei der Generierung eines PDF Dokumentes aus Excel heraus, was über ein Makro funktioniert. Mein Problem: Auf meinem Rechner funktioniert es einwandfrei, auf meinem Laptop aber nicht, obwohl gleiche Systemlandschaft (Beides Win7, Office 2010 -identische Einstellungen - nur anderes Netzwerk)
Auf dem Laptop wird das Makro auch ausgeführt und bricht dann immer an dieser Stelle ab:
Laufzeitfehler: '-2147018887 (80071779)
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Offensichtlich gibt es ein Problem beim abspeichern. ABER WIESO? Es ist keine anderes PDF geöffnet, was z.B. den gleichen Dateinamen trägt. Auch mit "speichern unter" und Änderung des Dateinamen, funktioniert es leider nicht. Ist evt. der Speicherort des Rätsels Lösung? Ich bin ratlos. Könnt Ihr weiterhelfen?
Hier der Code
------------------------

Private Sub CMDweiter_Click()
'Prüfung ob Text Vorhanden
 
 'On Error GoTo Errorhandler
        
If Me.TextKunde.Value = "" Then
MsgBox ("Name des Kunden fehlt!")
Exit Sub
End If
' wird ausgeführt wenn auf Weiter geklickt wird
With Tabelle5
.Range("C28").Value = Me.TextKunde.Value
End With
Unload Me
    Dim sh As Object
    Dim arr() As Variant
    Dim i As Integer
    
  
    
    For Each sh In ThisWorkbook.Sheets
        If sh.Visible = xlSheetVisible Then
            i = i + 1
            ReDim Preserve arr(1 To i)
            arr(i) = sh.Name
        End If
    Next sh
    Sheets(arr).Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Quality:=xlQualityStandard,  _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
    Exit Sub
'
'Errorhandler:
'    MsgBox "Bitte schließen Sie vorher das alte PDF Dokument"
    Resume Next
End Sub

Vielen Dank und Gruß
Matthias

Bild

Betrifft: AW: Fehler bei PDF Generierung - Laufzeitfehler
von: fcs
Geschrieben am: 26.11.2015 16:12:58
Mathias,
es kann Probleme geben, wenn das aktive Verzeichnis schreibgeschützt ist oder du als angemeldeter User keine Schreibberechtigung.
Aber dies ist bei deinem LapTop doch eher unwahrschlich.
Dann wäre noch die Möglichkeit, dass mit USB-Stick oder anderen Wechsellaufwerken am Lap-Top gearbeitet wird, die aber nicht mehr verfügbar sind.
Idealer Weise laßt man Excel hier nicht einfach wild darauflosspeichern, sondern gibt für den Dateinamen der PDF-Datei das Verzeichnis und den Dateinamen vor.
z.B.:
strDatei = Thisworkbook.Path & Application.Pathseparator & "Dateiname" & Format(Now, YYYYMMDD hhmmss") & ".PDF"
Gruß
Franz

Bild

Betrifft: AW: Fehler bei PDF Generierung - Laufzeitfehler
von: Matthias
Geschrieben am: 26.11.2015 16:42:05
Hallo Franz,
vielen Dank für Deine Antwort. Wenn ich dich recht verstanden habe wird dann das PDF in dem selben Verzeichnis gespeichert wie das Excel file?
Wie würde das im Code aussehen? So etwa oder was würdest du vorschlagen?

Private Sub CMDweiter_Click()
'Prüfung ob Text Vorhanden
 
 On Error GoTo Errorhandler
        
If Me.TextKunde.Value = "" Then
MsgBox ("Name des Kunden fehlt!")
Exit Sub
End If
' wird ausgeführt wenn auf Weiter geklickt wird
With Tabelle5
.Range("C28").Value = Me.TextKunde.Value
End With
Unload Me
    Dim sh As Object
    Dim arr() As Variant
    Dim i As Integer
    
    'Filename:="C:Users\BTO\Desktop"
    
    For Each sh In ThisWorkbook.Sheets
        If sh.Visible = xlSheetVisible Then
            i = i + 1
            ReDim Preserve arr(1 To i)
            arr(i) = sh.Name
        End If
    Next sh
    Sheets(arr).Select
    
    strDatei = ThisWorkbook.Path & Application.PathSeparator & "Dateiname" & Format(Now, " _
YYYYMMDD hhmmss") & ".PDF"
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strDatei, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
    Exit Sub
    
Errorhandler:
    MsgBox "Bitte schließen Sie vorher das alte PDF Dokument"
    Resume Next
End Sub
Danke nochmal für die Antwort
Matthais

Bild

Betrifft: AW: Fehler bei PDF Generierung - Laufzeitfehler
von: Matthias
Geschrieben am: 26.11.2015 18:13:31
Hallo Franz,
kurz zur Info. Es klappt so ganz gut.
Danke für Deine Hilfe
Matthias

Bild

Betrifft: AW: Fehler bei PDF Generierung - Laufzeitfehler
von: Matthias
Geschrieben am: 26.11.2015 17:06:03
wie bekomme ich es eigentlich hin, dass die PDF Datei, den Dateinamen des Excel file automatisch übernimmt?
Gruß
Matthias

Bild

Betrifft: AW: Fehler bei PDF Generierung - Laufzeitfehler
von: fcs
Geschrieben am: 27.11.2015 09:49:45
Hallo Mathias,
wenn du den Dateinamen des PDF, wie folgt festlegst:

     With ThisWorkbook
        strDatei = Left(.FullName, InStrRev(.FullName, ".") - 1) & ".PDF"
     End With

Gruß
Franz

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Fehler bei PDF Generierung - Laufzeitfehler "