IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Télécharger un fichier


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Par défaut Télécharger un fichier
    Bonjour a tous,
    je souhaite télécharger un fichier Web au format .txt et l'enregistrer sur c.
    J'ai récupérer ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim objClient As New WebClient
    Call objClient.DownloadFile("http://www.google.com", "c:\test.html")
    adapté a ma situation ça donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Commande870_Click()
    Dim objClient As New WebClient
    Call objClient.DownloadFile("http://www.xxxxx.fr/Ventis.txt", "c:\Ventis.txt")
    End Sub
    Ça ne fonctionne pas... un coup de pouce svp

  2. #2
    Membre Expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Par défaut
    Bonjour,

    As-tu essayé les solutions déjà proposées

    Fonction DownloadHttpFile

    ....et dans la

    Comment récupérer le contenu d'un fichier txt placé sur internet ?

    .... À voir

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Par défaut
    Bonjour, je dois reconnaitre qu'avant ton poste non, j'avais parcouru la Faq, mais apparemment trop vite.
    J'ai pour tester les deux fait ceci :
    (J'ai bien ajouté la référence VB «Microsoft WinHTTP Services, version 5.1)

    Module1 (Nommé Mod_Dowload) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    Option Compare Database
     
    ' -------------------------------------------------------------------
    ' Fonction DownloadHttpFile
    '
    ' Arguments :
    ' [E] strUrl            Adresse web fichier à télécharger
    ' [E] strFichierLocal   Fichier local
    '
    ' Valeur renvoyée : Statut (Entier long) http
    ' -------------------------------------------------------------------
    Function DownloadHttpFile(strUrl As String, _
                     strFichierLocal As String) As Long
    Dim wq As WinHttp.WinHttpRequest
    Dim lgStatus As Long, strStatusText As String
    Dim ff As Integer, byArray() As Byte
     
    ' Nouvelle requête HTTP
    Set wq = New WinHttpRequest
    wq.Open "GET", strUrl
    ' Exécution requête HTTP
    wq.Send
    ' Code et texte de retour de la requête http
    lgStatus = wq.Status
    strStatusText = wq.StatusText
    ' Si OK sauvegarder dans fichier local
    If wq.Status = 200 Then
       ff = FreeFile()
       byArray() = wq.ResponseBody
       If Len(Dir(strFichierLocal)) > 0 Then Kill strFichierLocal
       ' Ecrire dans fichier
       Open strFichierLocal For Binary As ff
       Put #ff, , byArray()
       Close #ff
       Set wq = Nothing
    End If
    ' Retourne Statut de la requête HTTP
    DownloadHttpFile = lgStatus
    End Function
    Module2 (Nommé Mod_Download2) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Option Compare Database
     
    Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
            "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, _
            ByVal szFileName As String, ByVal dwReserved As Long, _
            ByVal lpfnCB As Long) As Long
    Code Formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Commande870_Click()
    Dim lgStatus As Long
    Dim strUrl As String
    Dim strFile As String
     
    strUrl = "http://www.monsite.fr/ventis.txt"
    strFile = "C:\Ventis.txt"
    lgStatus = DownloadHttpFile(strUrl, strFile)
    MsgBox lgStatus, , "Code retour HTML"
     
    URLDownloadToFile 0, "http://www.monsite.fr/ventis.txt", "C:\Ventis.txt" & ufile, 0, 0
    End Sub
    et rien ......

  4. #4
    Membre Expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Par défaut
    Bonjour,

    Mais pourquoi "mélanges tu" les deux codes

    Exemple:
    Dans un module, tu copie-coller le code de la fonction DownloadHttpFile

    Sur l'événement "Sur clic" de ton bouton de commande....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim lgStatus As Long
    Dim strUrl As String
    Dim strFile As String
     
    strUrl = "http://www.monsite.fr/ventis.txt"
    strFile = "C:\Ventis.txt"
    lgStatus = DownloadHttpFile(strUrl, strFile)
    MsgBox lgStatus, , "Code retour HTML"
    ......et c'est tout ...... le code est parfaitement fonctionnel

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Par défaut
    Merci de ta réponse, le mélange des deux est destiné a tester les deux en même temps.
    Etant conscient que le problème vient de moi et non du code fourni, j'ai modifié un des seuls paramètres possibles, le chemin d'écriture du fichier en c:\xxx\ventis.txt et là miracle !!!
    Clique droit sur la racine pour créer un nouveau fichier texte impossible ...... mais ceci est un autre problème..
    Merci beaucoup.

    Oups petit soucis.... si le fichier n'existe pas il le creé quand même
    avec un contenu issus des ..... pages jaunes !!!!.
    Je dois préciser que je n'ai rien bu ni fumé
    Comment vérifier s'il existe ?

Discussions similaires

  1. [FTP] Télécharger un fichier par FTP
    Par jerome38000 dans le forum Langage
    Réponses: 5
    Dernier message: 27/05/2011, 15h41
  2. Télécharger un fichier texte et l'importer
    Par NooD dans le forum C++Builder
    Réponses: 5
    Dernier message: 24/07/2006, 11h59
  3. Télécharger un fichier Zip depuis une adresse internet
    Par jmjmjm dans le forum Web & réseau
    Réponses: 8
    Dernier message: 18/10/2005, 19h12
  4. Problème pour Télécharger des fichiers
    Par joce3000 dans le forum C++Builder
    Réponses: 8
    Dernier message: 21/01/2005, 10h30
  5. [FTP] Télécharger un fichier
    Par Piolet dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 09/12/2004, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo