Problem mit If- Abfrage in vb.net

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von michael81.

    Problem mit If- Abfrage in vb.net

    Hallo,

    ich hae "versucht" mit einer if abfrage, nach zu schauen ob eine Datei vorhanden ist, wenn das soll die geöffnet werden und ein Tabellenblatt gedruckt werden.
    Das funktioniert auch ganz gut, nur am ende wir die if abfrage nicht beendet, sondern Zellenspiegel F1 wird immer und immer wieder geöffnet und gedruckt.
    Wie komme ich aus diesen Endlosschritt raus?
    Exit sub habe ich schon an mehreren stellen versucht.

    VB.NET-Quellcode

    1. Dim exApp As Excel.Application = New Excel.Application()
    2. Dim exwb As Excel.Workbook
    3. Dim exsh As Excel.Worksheet
    4. Dim strDateiName As String
    5. With exApp
    6. .Visible = False
    7. strDateiName = Dir("F:\Haus A\Zellenspiegel\Zellenspiegel A0\Zellensp" & "*.xls*")
    8. MsgBox("Die Datei heisst " & strDateiName)
    9. If strDateiName = "" Then
    10. MsgBox("A0 ist kaputt")
    11. f1_sub()
    12. Else
    13. 'strDateiName = Dir("F:\Haus \Zellenspiegel\Zellenspiegel A0\Zellenl* " & "*.xl*")
    14. 'exwb = .Workbooks.Open("C:\Users\micha\Desktop\all\testdokus\Mappe1.xlsm")
    15. exwb = .Workbooks.Open("F:\Haus A\Zellenspiegel\Zellenspiegel A0\" & strDateiName)
    16. ' pr.StartInfo.FileName = ("F:\Haus A\Zellenspiegel\Zellenspiegel A0\" & strDateiName)
    17. exsh = exwb.Worksheets("Wäschetafeln")
    18. exsh.PrintOut()
    19. exwb.Close()
    20. End If
    21. End With
    22. f1_sub()
    23. End Sub
    24. Sub f1_sub()
    25. Dim exApp As Excel.Application = New Excel.Application()
    26. Dim exwb As Excel.Workbook
    27. Dim exsh As Excel.Worksheet
    28. Dim strDateiName As String
    29. With exApp
    30. .Visible = False
    31. strDateiName = Dir("C:\Users\micha\Desktop\all\testdokus\Neuer Ordner\Zellensp" & "*.xls*")
    32. MsgBox("Die Datei heisst " & strDateiName)
    33. If strDateiName = "" Then
    34. MsgBox("F1 ist kaputt")
    35. 'Me.Close()
    36. Exit Sub
    37. Else
    38. exwb = .Workbooks.Open("C:\Users\micha\Desktop\all\testdokus\Neuer Ordner\" & strDateiName)
    39. exsh = exwb.Worksheets("Wäschetafeln")
    40. exsh.PrintOut()
    41. exwb.Close()
    42. End If
    43. End With
    44. 'Me.Close()
    45. End Sub

    michael81 schrieb:

    Wie komme ich aus diesen Endlosschritt raus?
    Lerne zu debuggen.
    Setze einen Haltepunkt in die Prozedur und arbeite sie zeilenweise ab.
    Wenn Du eine Zeile oder einen Sprung findest, der sich nicht so verhält, wie du glaubst, dass er sich verhalten soll, hast Du einen Fehler gefunden.
    Gugst Du hier.
    Und
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    michael81 schrieb:

    das Druckfenster
    Ist das ein externes Excel-Fenster oder Dein eigener Dialog?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!