Télécharger un fichier à partir d'une adresse http ...
6 réponses
Denis
Bonsoir à tous !
Je cherche le moyen, en vbscript, de télécharger un fichier à partir d'un
emplacement internet.
J'ai bien trouvé ce bout de code VB qui correspond tout à fait à mon besoin,
mais je suis incapable de l'adapter pour qu'il fonctionne en VBS :
-----------------8<----------------------------8<---------
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
Dim errcode As Long
Dim url As String
Dim localFileName As String
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
Antoine Habert
Hello,
tu peux utiliser le script suivant :
dim ie tonUrl = "Ton URL ICI" taDestination = "chemin de destination
set ie.createobject("internetexplorer.application") ie.visibleúlse ie.navigate2(tonUrl) ie.document.execwb("saveas",false,TaDestination) ie.quit -- Envie de scripting ? Lisez donc "Scripting Windows" aux Editions Eyrolles ! http://www.eyrolles.com/Informatique/Livre/9782212116922/ http://www.scriptovore.com
Bonsoir à tous !
Je cherche le moyen, en vbscript, de télécharger un fichier à partir d'un emplacement internet. J'ai bien trouvé ce bout de code VB qui correspond tout à fait à mon besoin, mais je suis incapable de l'adapter pour qu'il fonctionne en VBS :
-----------------8<----------------------------8<--------- 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
Dim errcode As Long Dim url As String Dim localFileName As String
Si vous auriez 2 minutes pour me filer un coup de main ou m'orienter, ce serait cool !
Denis.
Hello,
tu peux utiliser le script suivant :
dim ie
tonUrl = "Ton URL ICI"
taDestination = "chemin de destination
set ie.createobject("internetexplorer.application")
ie.visibleúlse
ie.navigate2(tonUrl)
ie.document.execwb("saveas",false,TaDestination)
ie.quit
--
Envie de scripting ? Lisez donc "Scripting Windows" aux Editions Eyrolles !
http://www.eyrolles.com/Informatique/Livre/9782212116922/
http://www.scriptovore.com
Bonsoir à tous !
Je cherche le moyen, en vbscript, de télécharger un fichier à partir d'un
emplacement internet.
J'ai bien trouvé ce bout de code VB qui correspond tout à fait à mon besoin,
mais je suis incapable de l'adapter pour qu'il fonctionne en VBS :
-----------------8<----------------------------8<---------
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
Dim errcode As Long
Dim url As String
Dim localFileName As String
dim ie tonUrl = "Ton URL ICI" taDestination = "chemin de destination
set ie.createobject("internetexplorer.application") ie.visibleúlse ie.navigate2(tonUrl) ie.document.execwb("saveas",false,TaDestination) ie.quit -- Envie de scripting ? Lisez donc "Scripting Windows" aux Editions Eyrolles ! http://www.eyrolles.com/Informatique/Livre/9782212116922/ http://www.scriptovore.com
Bonsoir à tous !
Je cherche le moyen, en vbscript, de télécharger un fichier à partir d'un emplacement internet. J'ai bien trouvé ce bout de code VB qui correspond tout à fait à mon besoin, mais je suis incapable de l'adapter pour qu'il fonctionne en VBS :
-----------------8<----------------------------8<--------- 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
Dim errcode As Long Dim url As String Dim localFileName As String
Sub Importer_Fichier_Du_Web(source,destination) Set HTTP=Objet_XMLHTTP With HTTP .Open "GET",source,False .Send End With With CreateObject("ADODB.Stream") .Type=1 .Open .Write HTTP.ResponseBody .SaveToFile destination,2 End With End Sub
Function Objet_XMLHTTP On Error Resume Next Set Objet_XMLHTTP=CreateObject("Microsoft.XMLHTTP") Set Objet_XMLHTTP=CreateObject("MSXML2.XMLHTTP") On Error GoTo 0 End Function '---8<---Importer_Fichier_Du_Web.VBS---Jean-JMST-Belgium---
Amicalement,
-- Jean - JMST Belgium
Je cherche le moyen, en vbscript, de télécharger un fichier à partir d'un
emplacement internet.
Sub Importer_Fichier_Du_Web(source,destination)
Set HTTP=Objet_XMLHTTP
With HTTP
.Open "GET",source,False
.Send
End With
With CreateObject("ADODB.Stream")
.Type=1
.Open
.Write HTTP.ResponseBody
.SaveToFile destination,2
End With
End Sub
Function Objet_XMLHTTP
On Error Resume Next
Set Objet_XMLHTTP=CreateObject("Microsoft.XMLHTTP")
Set Objet_XMLHTTP=CreateObject("MSXML2.XMLHTTP")
On Error GoTo 0
End Function
'---8<---Importer_Fichier_Du_Web.VBS---Jean-JMST-Belgium---
Sub Importer_Fichier_Du_Web(source,destination) Set HTTP=Objet_XMLHTTP With HTTP .Open "GET",source,False .Send End With With CreateObject("ADODB.Stream") .Type=1 .Open .Write HTTP.ResponseBody .SaveToFile destination,2 End With End Sub
Function Objet_XMLHTTP On Error Resume Next Set Objet_XMLHTTP=CreateObject("Microsoft.XMLHTTP") Set Objet_XMLHTTP=CreateObject("MSXML2.XMLHTTP") On Error GoTo 0 End Function '---8<---Importer_Fichier_Du_Web.VBS---Jean-JMST-Belgium---
Amicalement,
-- Jean - JMST Belgium
Denis
Nickel ! c'est pile poil ce qu'il me fallait... dommage que le lien fournit est quasiment vide, je suis sur qu'il y a plein de trucs sympa ;-)
Merci ! DNI.
"Jean" a écrit dans le message de news:
Je cherche le moyen, en vbscript, de télécharger un fichier à partir d'un emplacement internet.
Sub Importer_Fichier_Du_Web(source,destination) Set HTTP=Objet_XMLHTTP With HTTP .Open "GET",source,False .Send End With With CreateObject("ADODB.Stream") .Type=1 .Open .Write HTTP.ResponseBody .SaveToFile destination,2 End With End Sub
Function Objet_XMLHTTP On Error Resume Next Set Objet_XMLHTTP=CreateObject("Microsoft.XMLHTTP") Set Objet_XMLHTTP=CreateObject("MSXML2.XMLHTTP") On Error GoTo 0 End Function '---8<---Importer_Fichier_Du_Web.VBS---Jean-JMST-Belgium---
Amicalement,
-- Jean - JMST Belgium
Nickel !
c'est pile poil ce qu'il me fallait... dommage que le lien fournit est
quasiment vide, je suis sur qu'il y a plein de trucs sympa ;-)
Merci !
DNI.
"Jean" <repondre@groupe.svp> a écrit dans le message de news:
mn.a4c87d62c7327101.41316@windows...
Je cherche le moyen, en vbscript, de télécharger un fichier à partir d'un
emplacement internet.
Sub Importer_Fichier_Du_Web(source,destination)
Set HTTP=Objet_XMLHTTP
With HTTP
.Open "GET",source,False
.Send
End With
With CreateObject("ADODB.Stream")
.Type=1
.Open
.Write HTTP.ResponseBody
.SaveToFile destination,2
End With
End Sub
Function Objet_XMLHTTP
On Error Resume Next
Set Objet_XMLHTTP=CreateObject("Microsoft.XMLHTTP")
Set Objet_XMLHTTP=CreateObject("MSXML2.XMLHTTP")
On Error GoTo 0
End Function
'---8<---Importer_Fichier_Du_Web.VBS---Jean-JMST-Belgium---
Sub Importer_Fichier_Du_Web(source,destination) Set HTTP=Objet_XMLHTTP With HTTP .Open "GET",source,False .Send End With With CreateObject("ADODB.Stream") .Type=1 .Open .Write HTTP.ResponseBody .SaveToFile destination,2 End With End Sub
Function Objet_XMLHTTP On Error Resume Next Set Objet_XMLHTTP=CreateObject("Microsoft.XMLHTTP") Set Objet_XMLHTTP=CreateObject("MSXML2.XMLHTTP") On Error GoTo 0 End Function '---8<---Importer_Fichier_Du_Web.VBS---Jean-JMST-Belgium---
Amicalement,
-- Jean - JMST Belgium
jbongran
Jean wrote:
Je cherche le moyen, en vbscript, de télécharger un fichier à partir d'un emplacement internet.
Sub Importer_Fichier_Du_Web(source,destination) Set HTTP=Objet_XMLHTTP With HTTP .Open "GET",source,False .Send End With With CreateObject("ADODB.Stream") .Type=1 .Open .Write HTTP.ResponseBody .SaveToFile destination,2 End With End Sub
Function Objet_XMLHTTP On Error Resume Next Set Objet_XMLHTTP=CreateObject("Microsoft.XMLHTTP") Set Objet_XMLHTTP=CreateObject("MSXML2.XMLHTTP") On Error GoTo 0 End Function '---8<---Importer_Fichier_Du_Web.VBS---Jean-JMST-Belgium---
Amicalement,
Bonjour Jean, J'avait un bout de code dans ce style, marche bien. J'ai vu que tu utilisait une syntaxe que je ne connaissait pas: With CreateObject("ADODB.Stream") et pour ça je te remercie, je serait moins bête ce soir ;-) J'ai trois questions: 1- Est-il possible d'utiliser cette syntaxe en appelant une fonction : With Objet_XMLHTTP 2 - Pourquoi creer d'abord ce que je pense être la version la plus ancienne (mais peut être me gourre je) du composant XMLHTTP ? 3 - L'objet XMLHTTP n'est pas détruit et l'objet ADODB.Stream n'est pas fermé ni détruit, normal docteur ?
Jean wrote:
Je cherche le moyen, en vbscript, de télécharger un fichier à partir
d'un emplacement internet.
Sub Importer_Fichier_Du_Web(source,destination)
Set HTTP=Objet_XMLHTTP
With HTTP
.Open "GET",source,False
.Send
End With
With CreateObject("ADODB.Stream")
.Type=1
.Open
.Write HTTP.ResponseBody
.SaveToFile destination,2
End With
End Sub
Function Objet_XMLHTTP
On Error Resume Next
Set Objet_XMLHTTP=CreateObject("Microsoft.XMLHTTP")
Set Objet_XMLHTTP=CreateObject("MSXML2.XMLHTTP")
On Error GoTo 0
End Function
'---8<---Importer_Fichier_Du_Web.VBS---Jean-JMST-Belgium---
Amicalement,
Bonjour Jean,
J'avait un bout de code dans ce style, marche bien.
J'ai vu que tu utilisait une syntaxe que je ne connaissait pas:
With CreateObject("ADODB.Stream")
et pour ça je te remercie, je serait moins bête ce soir ;-)
J'ai trois questions:
1- Est-il possible d'utiliser cette syntaxe en appelant une fonction :
With Objet_XMLHTTP
2 - Pourquoi creer d'abord ce que je pense être la version la plus ancienne
(mais peut être me gourre je) du composant XMLHTTP ?
3 - L'objet XMLHTTP n'est pas détruit et l'objet ADODB.Stream n'est pas
fermé ni détruit, normal docteur ?
Sub Importer_Fichier_Du_Web(source,destination) Set HTTP=Objet_XMLHTTP With HTTP .Open "GET",source,False .Send End With With CreateObject("ADODB.Stream") .Type=1 .Open .Write HTTP.ResponseBody .SaveToFile destination,2 End With End Sub
Function Objet_XMLHTTP On Error Resume Next Set Objet_XMLHTTP=CreateObject("Microsoft.XMLHTTP") Set Objet_XMLHTTP=CreateObject("MSXML2.XMLHTTP") On Error GoTo 0 End Function '---8<---Importer_Fichier_Du_Web.VBS---Jean-JMST-Belgium---
Amicalement,
Bonjour Jean, J'avait un bout de code dans ce style, marche bien. J'ai vu que tu utilisait une syntaxe que je ne connaissait pas: With CreateObject("ADODB.Stream") et pour ça je te remercie, je serait moins bête ce soir ;-) J'ai trois questions: 1- Est-il possible d'utiliser cette syntaxe en appelant une fonction : With Objet_XMLHTTP 2 - Pourquoi creer d'abord ce que je pense être la version la plus ancienne (mais peut être me gourre je) du composant XMLHTTP ? 3 - L'objet XMLHTTP n'est pas détruit et l'objet ADODB.Stream n'est pas fermé ni détruit, normal docteur ?
Jean
J'avait un bout de code dans ce style
Il doit y en avoir un du genre maintenant sur le Script Center amha ...
J'ai trois questions: 1- Est-il possible d'utiliser cette syntaxe en appelant une fonction : With Objet_XMLHTTP
Oui bien sûr. Ca ne se prêtait pas dans l'exemple parcequ'en VBScript on ne peut pas imbriquer les With comme en JScript.
2 - Pourquoi creer d'abord ce que je pense être la version la plus ancienne (mais peut être me gourre je) du composant XMLHTTP ?
Parcequ'il y a plusieurs progid possible pour l'objet. La fonction Objet_XMLHTTP prend ce qu'elle trouve dans un "sac" de possibilités.
3 - L'objet XMLHTTP n'est pas détruit
La *variable* objet HTTP n'est pas détruite. C'est automatique à la fin du script (mais on peut ajouter Set HTTP=Nothing à la fin si on veut).
et l'objet ADODB.Stream n'est pas fermé
Ce serait effectivement mieux de rajouter .Close dans l'exemple.
ni détruit
On ne peut détruire explicitement que des variables :-) Implicitement, dans l'exemple, ADODB.Stream est détruit à la fin du With (End With).
Amicalement,
-- Jean - JMST Belgium
J'avait un bout de code dans ce style
Il doit y en avoir un du genre maintenant sur le Script Center amha ...
J'ai trois questions:
1- Est-il possible d'utiliser cette syntaxe en appelant une fonction :
With Objet_XMLHTTP
Oui bien sûr.
Ca ne se prêtait pas dans l'exemple parcequ'en VBScript on ne peut pas
imbriquer les With comme en JScript.
2 - Pourquoi creer d'abord ce que je pense être la version la plus ancienne
(mais peut être me gourre je) du composant XMLHTTP ?
Parcequ'il y a plusieurs progid possible pour l'objet.
La fonction Objet_XMLHTTP prend ce qu'elle trouve dans un "sac" de
possibilités.
3 - L'objet XMLHTTP n'est pas détruit
La *variable* objet HTTP n'est pas détruite.
C'est automatique à la fin du script (mais on peut ajouter Set
HTTP=Nothing à la fin si on veut).
et l'objet ADODB.Stream n'est pas fermé
Ce serait effectivement mieux de rajouter .Close dans l'exemple.
ni détruit
On ne peut détruire explicitement que des variables :-)
Implicitement, dans l'exemple, ADODB.Stream est détruit à la fin du
With (End With).
Il doit y en avoir un du genre maintenant sur le Script Center amha ...
J'ai trois questions: 1- Est-il possible d'utiliser cette syntaxe en appelant une fonction : With Objet_XMLHTTP
Oui bien sûr. Ca ne se prêtait pas dans l'exemple parcequ'en VBScript on ne peut pas imbriquer les With comme en JScript.
2 - Pourquoi creer d'abord ce que je pense être la version la plus ancienne (mais peut être me gourre je) du composant XMLHTTP ?
Parcequ'il y a plusieurs progid possible pour l'objet. La fonction Objet_XMLHTTP prend ce qu'elle trouve dans un "sac" de possibilités.
3 - L'objet XMLHTTP n'est pas détruit
La *variable* objet HTTP n'est pas détruite. C'est automatique à la fin du script (mais on peut ajouter Set HTTP=Nothing à la fin si on veut).
et l'objet ADODB.Stream n'est pas fermé
Ce serait effectivement mieux de rajouter .Close dans l'exemple.
ni détruit
On ne peut détruire explicitement que des variables :-) Implicitement, dans l'exemple, ADODB.Stream est détruit à la fin du With (End With).
Amicalement,
-- Jean - JMST Belgium
bayosky
Bonjour,
On a eu deux trucs bien distincts ( réponses de Antoine C. et de Jean ) Ma question bête est donc : Y-a-t-il une raison particulière de préférer l'un plutôt que l'autre.
Merci pour vos lueurs,
HB
Bonjour,
On a eu deux trucs bien distincts
( réponses de Antoine C. et de Jean )
Ma question bête est donc :
Y-a-t-il une raison particulière de préférer l'un plutôt que l'autre.
On a eu deux trucs bien distincts ( réponses de Antoine C. et de Jean ) Ma question bête est donc : Y-a-t-il une raison particulière de préférer l'un plutôt que l'autre.