j'enregistre automatiquement des fichier avec le code suivant, or au bureau,
le fait que ça demande un login et pass pour sortir de l'intranet, ça ne
marche pas.
Y a t-il une possibilité de contrer ce problème?
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
Function DownloadPage(ByVal url As String, ByVal FileName As String) As
Boolean
Dim done As Boolean
Dim value As Long
On Error Resume Next
done = True
If Dir$(FileName) <> "" Then
Kill FileName
End If
value = URLDownloadToFile(0, url, FileName, 0, 0)
If Dir$(FileName) = "" Then
done = False
End If
DownloadPage = done
End Function
Private Sub enregistre_fichier()
Dim bRet As Boolean
Dim sURL As String
Dim sFileName As String, adresse As String
Dim buf As String
buf = String(1, " ")
'ici c'est l'adresse de la page internet que l'on veux recuperer
sURL = "le lien ici"
sFileName = "c:\temp\le_fichier.txt" ' ici c'est l'endroit ou l'on
recupere les donnees
bRet = DownloadPage(sURL, sFileName)
If bRet Then
MsgBox "Téléchargement réussi."
Else
MsgBox "Erreur lors du téléchargement"
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FS
Bonjour,
Peut-être une autre approche en utilisant un objet InternetExplorer ? Je ne peux tester en réseau mais peut-être cette fonction de Dave Miller pourrait te donner un point de départ :
'================ Function Get_Online_Report() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") With ie .Visible = True .navigate "https://Your Site Name Here" Do Until .readystate = 4 DoEvents Loop With .document.forms(0) .Item("UserName").Value = "Your UserName Here" .Item("Password").Value = "Your Password Here" .Item("The Submit Button").Click End With End With Set ie = Nothing End Function '================ Ou un objet QueryTables ? Un exemple ici :
j'enregistre automatiquement des fichier avec le code suivant, or au bureau, le fait que ça demande un login et pass pour sortir de l'intranet, ça ne marche pas. Y a t-il une possibilité de contrer ce problème?
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
Function DownloadPage(ByVal url As String, ByVal FileName As String) As Boolean Dim done As Boolean Dim value As Long On Error Resume Next done = True If Dir$(FileName) <> "" Then Kill FileName End If value = URLDownloadToFile(0, url, FileName, 0, 0) If Dir$(FileName) = "" Then done = False End If DownloadPage = done End Function
Private Sub enregistre_fichier() Dim bRet As Boolean Dim sURL As String Dim sFileName As String, adresse As String Dim buf As String buf = String(1, " ") 'ici c'est l'adresse de la page internet que l'on veux recuperer sURL = "le lien ici"
sFileName = "c:temple_fichier.txt" ' ici c'est l'endroit ou l'on recupere les donnees
bRet = DownloadPage(sURL, sFileName) If bRet Then MsgBox "Téléchargement réussi." Else MsgBox "Erreur lors du téléchargement" End If End Sub
Michel Angelosanto, Bordeaux, France
Bonjour,
Peut-être une autre approche en utilisant un objet InternetExplorer ?
Je ne peux tester en réseau mais peut-être cette fonction de Dave Miller
pourrait te donner un point de départ :
'================ Function Get_Online_Report()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = True
.navigate "https://Your Site Name Here"
Do Until .readystate = 4
DoEvents
Loop
With .document.forms(0)
.Item("UserName").Value = "Your UserName Here"
.Item("Password").Value = "Your Password Here"
.Item("The Submit Button").Click
End With
End With
Set ie = Nothing
End Function
'================
Ou un objet QueryTables ? Un exemple ici :
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Michel Angelosanto a écrit :
Bonjour,
j'enregistre automatiquement des fichier avec le code suivant, or au
bureau, le fait que ça demande un login et pass pour sortir de
l'intranet, ça ne marche pas.
Y a t-il une possibilité de contrer ce problème?
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
Function DownloadPage(ByVal url As String, ByVal FileName As String) As
Boolean
Dim done As Boolean
Dim value As Long
On Error Resume Next
done = True
If Dir$(FileName) <> "" Then
Kill FileName
End If
value = URLDownloadToFile(0, url, FileName, 0, 0)
If Dir$(FileName) = "" Then
done = False
End If
DownloadPage = done
End Function
Private Sub enregistre_fichier()
Dim bRet As Boolean
Dim sURL As String
Dim sFileName As String, adresse As String
Dim buf As String
buf = String(1, " ")
'ici c'est l'adresse de la page internet que l'on veux recuperer
sURL = "le lien ici"
sFileName = "c:temple_fichier.txt" ' ici c'est l'endroit ou
l'on recupere les donnees
bRet = DownloadPage(sURL, sFileName)
If bRet Then
MsgBox "Téléchargement réussi."
Else
MsgBox "Erreur lors du téléchargement"
End If
End Sub
Peut-être une autre approche en utilisant un objet InternetExplorer ? Je ne peux tester en réseau mais peut-être cette fonction de Dave Miller pourrait te donner un point de départ :
'================ Function Get_Online_Report() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") With ie .Visible = True .navigate "https://Your Site Name Here" Do Until .readystate = 4 DoEvents Loop With .document.forms(0) .Item("UserName").Value = "Your UserName Here" .Item("Password").Value = "Your Password Here" .Item("The Submit Button").Click End With End With Set ie = Nothing End Function '================ Ou un objet QueryTables ? Un exemple ici :
j'enregistre automatiquement des fichier avec le code suivant, or au bureau, le fait que ça demande un login et pass pour sortir de l'intranet, ça ne marche pas. Y a t-il une possibilité de contrer ce problème?
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
Function DownloadPage(ByVal url As String, ByVal FileName As String) As Boolean Dim done As Boolean Dim value As Long On Error Resume Next done = True If Dir$(FileName) <> "" Then Kill FileName End If value = URLDownloadToFile(0, url, FileName, 0, 0) If Dir$(FileName) = "" Then done = False End If DownloadPage = done End Function
Private Sub enregistre_fichier() Dim bRet As Boolean Dim sURL As String Dim sFileName As String, adresse As String Dim buf As String buf = String(1, " ") 'ici c'est l'adresse de la page internet que l'on veux recuperer sURL = "le lien ici"
sFileName = "c:temple_fichier.txt" ' ici c'est l'endroit ou l'on recupere les donnees
bRet = DownloadPage(sURL, sFileName) If bRet Then MsgBox "Téléchargement réussi." Else MsgBox "Erreur lors du téléchargement" End If End Sub
Michel Angelosanto, Bordeaux, France
FS
> Peut-être une autre approche en utilisant un objet InternetExplorer ?
Bien que ta demande précise expressément "sans" :)
Peut-être une autre approche en utilisant un objet InternetExplorer ? Je ne peux tester en réseau mais peut-être cette fonction de Dave Miller pourrait te donner un point de départ :
'================ > Function Get_Online_Report() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") With ie .Visible = True .navigate "https://Your Site Name Here" Do Until .readystate = 4 DoEvents Loop With .document.forms(0) .Item("UserName").Value = "Your UserName Here" .Item("Password").Value = "Your Password Here" .Item("The Submit Button").Click End With End With Set ie = Nothing End Function '================ > Ou un objet QueryTables ? Un exemple ici :
> Peut-être une autre approche en utilisant un objet InternetExplorer ?
Bien que ta demande précise expressément "sans" :)
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
FS a écrit :
Bonjour,
Peut-être une autre approche en utilisant un objet InternetExplorer ?
Je ne peux tester en réseau mais peut-être cette fonction de Dave Miller
pourrait te donner un point de départ :
'================ > Function Get_Online_Report()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = True
.navigate "https://Your Site Name Here"
Do Until .readystate = 4
DoEvents
Loop
With .document.forms(0)
.Item("UserName").Value = "Your UserName Here"
.Item("Password").Value = "Your Password Here"
.Item("The Submit Button").Click
End With
End With
Set ie = Nothing
End Function
'================ >
Ou un objet QueryTables ? Un exemple ici :
Peut-être une autre approche en utilisant un objet InternetExplorer ? Je ne peux tester en réseau mais peut-être cette fonction de Dave Miller pourrait te donner un point de départ :
'================ > Function Get_Online_Report() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") With ie .Visible = True .navigate "https://Your Site Name Here" Do Until .readystate = 4 DoEvents Loop With .document.forms(0) .Item("UserName").Value = "Your UserName Here" .Item("Password").Value = "Your Password Here" .Item("The Submit Button").Click End With End With Set ie = Nothing End Function '================ > Ou un objet QueryTables ? Un exemple ici :
Si je ne trouve pas d'autre solution je vais faire comme cela mais l'inconvénient, c'est qu'étant obligé de passer par plusieurs fenêtres différentes, c'est plus long et compliqué
1) lancement de IE environ 30 secondes car chargement des infos du proxy 2) première connexion à internet 3) saisie des codes d'accès internet 4) enregistrement du fichier 5) sélection du répertoire et du nom du fichier 6) lien suivant 7) retour au 4)
Actuellement, je vais sur un site qui affiche ce que je cherche, puis je copie/colle les données dans mon fichier. Voila pourquoi je cherchais cette solution car c'est 100 fois plus rapide puisqu'on n'affiche rien et on ne lance pas IE donc ça démarre instantanément.
"FS" a écrit dans le message de news:
> Peut-être une autre approche en utilisant un objet InternetExplorer ?
Bien que ta demande précise expressément "sans" :)
Peut-être une autre approche en utilisant un objet InternetExplorer ? Je ne peux tester en réseau mais peut-être cette fonction de Dave Miller pourrait te donner un point de départ :
'================ >> Function Get_Online_Report() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") With ie .Visible = True .navigate "https://Your Site Name Here" Do Until .readystate = 4 DoEvents Loop With .document.forms(0) .Item("UserName").Value = "Your UserName Here" .Item("Password").Value = "Your Password Here" .Item("The Submit Button").Click End With End With Set ie = Nothing End Function '================ >> Ou un objet QueryTables ? Un exemple ici :
Si je ne trouve pas d'autre solution je vais faire comme cela mais
l'inconvénient, c'est qu'étant obligé de passer par plusieurs fenêtres
différentes, c'est plus long et compliqué
1) lancement de IE environ 30 secondes car chargement des infos du proxy
2) première connexion à internet
3) saisie des codes d'accès internet
4) enregistrement du fichier
5) sélection du répertoire et du nom du fichier
6) lien suivant
7) retour au 4)
Actuellement, je vais sur un site qui affiche ce que je cherche, puis je
copie/colle les données dans mon fichier.
Voila pourquoi je cherchais cette solution car c'est 100 fois plus rapide
puisqu'on n'affiche rien et on ne lance pas IE donc ça démarre
instantanément.
"FS" <fs@news.group> a écrit dans le message de
news:ODUP4sWJKHA.1488@TK2MSFTNGP03.phx.gbl...
> Peut-être une autre approche en utilisant un objet InternetExplorer ?
Bien que ta demande précise expressément "sans" :)
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
FS a écrit :
Bonjour,
Peut-être une autre approche en utilisant un objet InternetExplorer ?
Je ne peux tester en réseau mais peut-être cette fonction de Dave Miller
pourrait te donner un point de départ :
'================ >> Function Get_Online_Report()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = True
.navigate "https://Your Site Name Here"
Do Until .readystate = 4
DoEvents
Loop
With .document.forms(0)
.Item("UserName").Value = "Your UserName Here"
.Item("Password").Value = "Your Password Here"
.Item("The Submit Button").Click
End With
End With
Set ie = Nothing
End Function
'================ >>
Ou un objet QueryTables ? Un exemple ici :
Si je ne trouve pas d'autre solution je vais faire comme cela mais l'inconvénient, c'est qu'étant obligé de passer par plusieurs fenêtres différentes, c'est plus long et compliqué
1) lancement de IE environ 30 secondes car chargement des infos du proxy 2) première connexion à internet 3) saisie des codes d'accès internet 4) enregistrement du fichier 5) sélection du répertoire et du nom du fichier 6) lien suivant 7) retour au 4)
Actuellement, je vais sur un site qui affiche ce que je cherche, puis je copie/colle les données dans mon fichier. Voila pourquoi je cherchais cette solution car c'est 100 fois plus rapide puisqu'on n'affiche rien et on ne lance pas IE donc ça démarre instantanément.
"FS" a écrit dans le message de news:
> Peut-être une autre approche en utilisant un objet InternetExplorer ?
Bien que ta demande précise expressément "sans" :)
Peut-être une autre approche en utilisant un objet InternetExplorer ? Je ne peux tester en réseau mais peut-être cette fonction de Dave Miller pourrait te donner un point de départ :
'================ >> Function Get_Online_Report() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") With ie .Visible = True .navigate "https://Your Site Name Here" Do Until .readystate = 4 DoEvents Loop With .document.forms(0) .Item("UserName").Value = "Your UserName Here" .Item("Password").Value = "Your Password Here" .Item("The Submit Button").Click End With End With Set ie = Nothing End Function '================ >> Ou un objet QueryTables ? Un exemple ici :