Download ohne Internet-Explorer

Frage: Kann man aus Access heraus eine Datei aus dem Internet herunterladen, ohne den Internet Explorer manuell zu starten?

Der Anwender soll aber trotzdem die Möglichkeit haben, die Datei in einem beliebigen Ordner zu speichern.

Antwort: Dazu können Sie die APIFunktion „ShellExecute()“ nutzen.

Wird ihr als zweiter Parameter ein Link auf eine Datei übergeben, reicht sie die An frage an den Internet Explorer weiter, der dann den „Speichern unter“-Dialog anzeigt und die Datei herunterlädt.

Kopieren Sie zunächst die folgende Deklaration in ein neues oder in ein vorhandenes Modul:

Private Declare Function
ShellExecute Lib „shell32.dll“ Alias „ShellExecuteA“
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long)
As Long

Anschließend können Sie dann eine Anweisung wie die folgende verwenden, um eine Datei herunterzuladen:

ShellExecute 0&, vbNullString, „http://www.server.de/Downloads/Datei.exe“, vbNullString, vbNullString,vbHidden)