Newsgroup: it.comp.appl.access
Titolo: Dowload file da internet.

Buongiorno a tutti,
ho letto il 3D del 14 "Click su tasto e download da internet" iniziato da
E-Dentity e, nonostante le prove con i vari codici non riesco a far
effettuare alcun dowload in automatico.
A03 (English)/W03
Table Indirizzi 
File (stringa)
Indirizzo (hyperlink)
Form Indirizzi (RecordSource Indirizzi)
TextBox F1 (ControlSource File)
TextBox F2 (ControlSource Indirizzo)
CommandButton Download
Ora mi servirebbe che sulla pressione del CommandButton Download si
prelevasse il file presente in F2 e lo si salvasse con il nome F1 in una
data posizione.
Eventualmente, sarebbe possibile eseguire in automatico lo scaricamento di
tutti gli F2 della Table Indirizzi?
Grazie,
NEMO2K
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 NEMO2K
Ho trovato su 
http://www.mvps.org/access/modules/mdl0037.htm
 una
spiegazione su come eseguire quanto mi proponevo. Non riesco, perņ, a
passare i parametri F1 ed F2 alla Sub
Sub TestHTTP()
On Error GoTo ErrHandler
Dim objHTTP As InetTransferLib.HTTP
Const conTARGET = "
http://www.mvps.org/access/acknowledge.htm
"
  Set objHTTP = New InetTransferLib.HTTP
  With objHTTP
    .About
    .HttpURL = conTARGET
    '.DestinationFile = "j:\temp\test.htm"
    .PromptWithCommonDialog = True
    If .FileExists Then .OverwriteTarget = True
    If Not .IsConnected Then .DialDefaultNumber
    .ConnectToHTTPHost
    .WriteHTTPDataToFile
  End With
ExitHere:
  On Error Resume Next
  Set objHTTP = Nothing
  Call SysCmd(acSysCmdRemoveMeter)
  Exit Sub
ErrHandler:
  MsgBox Err.Number & vbCrLf & Err.Description, _
         vbCritical + vbOKOnly, Err.Source
  Resume ExitHere
End Sub
'*********** Code End *************
Grazie
-- 
 *  ***********   *
*** *NEMO2K-20K* ***
 *  ***********   *


     '.DestinationFile = "j:\temp\test.htm"
     .DestinationFile = F1    ' File di destinazione
[cut]
ciao
Mat.

 Mat.
Grazie per il tentativo ma si verificano solo errori sul codice, sia con
il testo originario che con il testo modificato secondo il tuo
suggerimento.
-- 
***************  *
***************  **
*********************
****NEMO2K-20K********
*********************
***************  **
***************  *



se nemmeno il codice originale funziona bisogna capire qual'č il problema,
uno potrebbe essere che nei riferimenti del progetto manca la libreria
InetTransferLib.
Mat.

 Mat.
Improvvisamente illuminato dal tuo suggerimento mi sono letto tutto
l'articolo su 
http://www.mvps.org/access/modules/mdl0037.htm
ed č subito apparso che č necessaria la libreria WinInet.dll.
Ho provato a registrarla sia da A03 (Tool-ActiveX Controls-Register) ma mi
viene risposto "C:\WINDOWS\system32\wininet.dll could not be
added/deleted. Install/remove the control using a separate setup
utility.", sia Windows con START-ESEGUI "regsvr32 wininet.dll" ma, questa
volta il messaggio č stato "wininet.dll č stato caricato, ma il punto di
ingresso DllRegisterServer non č stato trovato. Questo file non puň essere
registrato."
Cosa non funziona, secondo te?
Grazie.
-- 
****************
*****************
******************
****NEMO2K-20K*****
******************
*****************
****************


 Grazie.
Io pe run semplice Download proverei questo:
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
Public Function DownloadFile(URL As String, LocalFilename As String) As
Boolean
    Dim lngRetVal As Long
    lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
    If lngRetVal = 0 Then DownloadFile = True
End Function
Private Sub Form_Load()
    DownloadFile "
http://www.nomesito.net/miofile.zip
", "c:\miofile.zip"
End Sub
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 @Alex
Grazie Alex,
ero già riuscito a far girare il suggerimento presente nel Web ed in ogni
caso (avere due possibilità è sempre meglio che averne una e, sicuramente,
che non averne affatto) ho provato, con successo anche la tua.
E' però statica, nel senso che file da scaricare e destinazione sono
fisse; modificandola potrei gestire un evento (pulsante) e passare, come
ho fatto con l'altra funzione i dati contenuti in controlli associati ad
una tabella.
Un'ultima questione: è possibile, dato un elenco di file, e relativi
indirizzi e cartella di destinazione, effettuare in batch (ciclare)
l'operazione senza dover premere il pulsante per ogni file?


 Grazie.
Guarda il codice che ti ho passato è un esempio ed è tutto
meno che statico.
Ti costruisci una funzione alla quale passi l'indirizzo
del File da Scaricare ed il percorso dove salvarlo ed hai
ottenuto quello che serve.
Il vantaggio di questa mia, è che non devi usare un controllo INET
esterno per una cosa di questo genere.
Per la 2° domanda è direi semlicissima se il tutto fosse
contenuto in una tabella direi addirittura banale.
Cicli il Recordset e passi alla funzione che ti dicevo prima
il tutto, essendo un'operazione sincrona non devi nemmeno
preoccuparti di nulla in quanto il codice dovrebbe andare avanti
solo ultimato il DownLoad.
