Download datei automatisch speichern

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von kitech.

    Download datei automatisch speichern

    hallo

    ich habe einen eigenen browser ertellt mittels dem eine datei heruntergeladen und gespeichert werden soll. die datei und der speicherort sind immer die selben. ist die datei schon vorhanden im zielordner, soll diese durch die neue ersetzt werden.

    bis zum download komme ich, aber dann geschieht nichts mehr.

    ferner wäre ich auch dankbar um eine lösung wie benutzername und password dei für den zugriff auf die seite nötig sind gespeichert werden können, so dass diese nicht immer eingegeben werden müssen.

    danke für eure unterstützung. sorry, ich bin totaler anfänger und bitte um nachsicht.

    kitech
    Dateien
    • Form1.vb

      (4,05 kB, 359 mal heruntergeladen, zuletzt: )

    kitech schrieb:

    Was habe ich falsch gemacht das ich gar kein feedback erhalte?

    Ich vermute mal stark, dass sich viele (mich eingeschlossen) nicht deine Datei downloaden werden.
    In diesem Forum gibt es die Möglichkeit seinen Code direkt reinzuposten

    [ vb]
    Dein Code
    [ /vb]


    Somit sehen die Leute dies schneller.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Wenn du dir den Code den du von vb@rchiv kopiert hast genauer ansiehst würdeste sehen das bei

    VB.NET-Quellcode

    1. Select Case sExt
    2. Case "analysen.csv"

    nur die Dateiendung reinkommt und nicht Dateiname + Endung ;)


    VB.NET-Quellcode

    1. Select Case sExt
    2. Case ".csv"


    edit:
    und bei Datei(autom.downloaden) ein ' davor


    edit:
    bei

    VB.NET-Quellcode

    1. sExt = LCase$(Mid$(URL, InStrRev(URL, analysen.csv)))

    Kommt bei URl die Url wie gehabt hin und der Punkt muss da stehen bleiben (nicht analysen.csv).




    Da ich bei der Arbeit bin und hier kein VB installiert habe kann ich den nicht genauer untersuchen aber das dürfte (hoffentlich) hinkommen ;)

    Wenn nicht, kopier den Code nochmal und mach es Schritt für Schritt.

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Svenley“ ()

    danke fichz für die info. ich werde das beherzigen.
    danke svenley für die tipps. als anfänger bin ich mit der vorlage gut bedient. leider habe ich das mit dem sExt Punkt absolut nicht verstanden. Aber ich scheine noch mehr fehler drin zu haben. vielen dank für euer feedback.
    lg kitech

    Quellcode

    1. Public Class Form1
    2. Dim App As Object
    3. Private Property autom As Object
    4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    5. WebBrowser1.GoBack()
    6. End Sub
    7. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    8. WebBrowser1.GoForward()
    9. End Sub
    10. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    11. ' WebBrowser1.GoHome()
    12. TextBox1.Text = "https://tsm.tsmtreuhand.ch/tsmapp/pages/login/login-form.jsf"
    13. WebBrowser1.Navigate(TextBox1.Text)
    14. End Sub
    15. Private Sub GroupBox1_Enter(sender As System.Object, e As System.EventArgs)
    16. End Sub
    17. Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
    18. End Sub
    19. Private Sub Button4_Click(sender As System.Object, e As System.EventArgs)
    20. WebBrowser1.Navigate(TextBox1.Text)
    21. End Sub
    22. Private Sub SchliessenToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles SchliessenToolStripMenuItem.Click
    23. Me.Close()
    24. End Sub
    25. Private Sub Button5_Click(sender As System.Object, e As System.EventArgs)
    26. WebBrowser1.Navigate(TextBox1.Text)
    27. End Sub
    28. Private Sub WebBrowser1_DocumentCompleted(sender As System.Object, e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    29. End Sub
    30. Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, _
    31. URL As Object, Flags As Object, TargetFrameName As Object, _
    32. PostData As Object, Headers As Object, Cancel As Boolean)
    33. Dim sExt As String
    34. ' Datei-Extension ermitteln
    35. If InStr(URL, ".") > 0 Then
    36. sExt = LCase$(Mid$(URL, InStrRev(URL, ".")))
    37. End If
    38. ' Je nach Dateityp verschiedene Aktionen ausführen
    39. Select Case sExt
    40. Case " *.csv"
    41. ' Datei(autom.downloaden)
    42. Cancel = True
    43. ' Datei ins Anwendungsverzeichnis speichern
    44. Dim sLocalFile As String
    45. 'sLocalFile = App.Path & "\" & Mid$(URL, InStrRev(URL, "/") + 1)
    46. sLocalFile = "c:\kaever\labor\" & Mid$(URL, InStrRev(URL, "/") + 1)
    47. ' Download starten und warten, bis beendet
    48. If URLDownloadToFile(0, URL, sLocalFile, 0, 0) = 0 Then
    49. MsgBox("Download erfolgreich. Lesen Sie die Datei nun in den Chäsimanager ein!")
    50. End If
    51. Case Else
    52. ' alle anderen Links direkt ausführen
    53. End Select
    54. End Sub
    55. Private Function URLDownloadToFile(p1 As Integer, URL As Object, sLocalFile As String, p4 As Integer, p5 As Integer) As Integer
    56. Throw New NotImplementedException
    57. End Function
    58. ' benötigte API-Deklarationen
    59. Private Declare Function URLDownloadToFile Lib "urlmon" _
    60. Alias "URLDownloadToFileA" ( _
    61. ByVal pCaller As Long, _
    62. ByVal szURL As String, _
    63. ByVal szFileName As String, _
    64. ByVal dwReserved As Long, _
    65. ByVal lpfnCB As Long) As Long
    66. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    67. TextBox1.Text = "https://tsm.tsmtreuhand.ch/tsmapp/pages/login/login-form.jsf"
    68. WebBrowser1.Navigate(TextBox1.Text)
    69. End Sub
    70. Private Sub MenuStrip1_ItemClicked(sender As System.Object, e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
    71. End Sub
    72. Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs)
    73. End Sub
    74. Private Sub Datei(p1 As Object)
    75. Throw New NotImplementedException
    76. End Sub
    77. Private Function analysen() As Object
    78. Throw New NotImplementedException
    79. End Function
    80. End Class