On error in If-Then -Schleife
27.07.2017 19:27:13
Leoooo
ich habe eine If-Then-Schleife die mir bei Drücken eines Buttons eine PDF auf Deutsch oder auf Englisch öffnet. Welche Sprache die PDF hat wird durch die vorherige Auswahl der Sprache entschieden. Die PDF wird aus einem Excel-Worksheet erstellt.
Ich drücke den CommandButton und die PDF wird geöffnet. Drücke ich den Button jetzt erneut bekomme ich einen Fehler. Deswegen habe ich den On Error Befehl eingebaut. Dieser Befehl funktioniert aber nur einmal, beim zweiten Mal schließt sich das Warnfenster nicht mehr.
Hier der Code:
Private Sub CommandButton4_Click() 'Öffne "Hilfe-PDF"
Col = Application.Match(Sprache.ComboBox1, Worksheets("Sprachen").Rows("1"), 0)
On Error GoTo Fehler
If Col = 3 Then
Application.PrintCommunication = False
With ThisWorkbook.Worksheets("Erklärungssheet").PageSetup
.Orientation = xlPortrait
.Zoom = True
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
With Worksheets("Erklärungssheet")
.Range("A1:D39").ExportAsFixedFormat Type:=xlTypePDF, filename:="Erklärungen & Beispiele. _
pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With
Else
Application.PrintCommunication = False
With ThisWorkbook.Worksheets("Erklärungssheet_english").PageSetup
.Orientation = xlPortrait
.Zoom = True
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
With Worksheets("Erklärungssheet_english")
.Range("A1:D39").ExportAsFixedFormat Type:=xlTypePDF, filename:="Explanations & Examples. _
pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With
End If
Exit Sub
Fehler:
If MsgBox("The PDF file is already open! Please close the file first, then press OK to continue. _
_
") = vbOK Then
Resume
End If
End Sub
Kann mir jemand sagen wo mein Fehler liegt?