Buongiorno a tutti.
Vi posto il codice che ho trovato su internet e che funziona
correttamente ma ho un problema.
Dalla mia azienda mi collego ad internet tramite un proxy e quindi
quando vado a lanciare questa macro non mi scarica nulla.
Qualcuno sa come aiutarmi a risolvere il problema?
Sub FTPFile()
Dim strFTP As Variant
Dim strUsername As Variant
Dim strPassword As Variant
Dim dirLocal As Variant
Dim file As Variant
Dim dirFtp As Variant
Dim tipo_trasf As Integer
strFTP = "pippo.altervista.org"
strUsername = "pippofranco"
strPassword = "segreta"
dirLocal = "c:\temp"
file = "inventario.pdf"
dirFtp = "Download"
tipo_trasf = 2
' indirizzo ftp,iduser,password,directory locale,
' nome file se =0 vengono presi tutti i file nella directory,
' directory sull'ftp,tipo_trasf
' tipo_trasf = 1 upload
' tipo_trasf = 2 download
' es: FTPFile "pippo.altervista.org", "pippofranco", "segreta", “c:
\temp\box1”, "inventario.pdf", "sections/15_MagScorte", 1
Dim objShellLocal, objShellFTP, objFolderLocal, objFolderFTP
Dim objShellDown, objFolderDown
Dim strPathFTP, strPathDown, strPathLocal
strPathLocal = dirLocal
strPathFTP = "ftp://" & strUsername & ":" & strPassword & "@" &
strFTP & "/" & dirFtp & "/"
Set objShellLocal = CreateObject("Shell.Application")
Set objFolderLocal = objShellLocal.Namespace(strPathLocal)
Set objShellFTP = CreateObject("Shell.Application")
Set objFolderFTP = objShellFTP.Namespace(strPathFTP)
Set objShellDown = CreateObject("Shell.Application")
Set objFolderDown = objShellDown.Namespace(strPathLocal)
Dim Item As Object
If tipo_trasf = 1 Then 'upload
'Trasferisce da cartella locale a FTP
If file = 0 Then
For Each Item In objFolderLocal.Items
objFolderFTP.CopyHere strPathLocal & Item.Name
'per spostare il file sostituire la riga
'sopra con questa objFolderFTP.MoveHere
'strPathLocal & Item.Name
Next
Else 'viene trasferito solo un file
objFolderFTP.CopyHere strPathLocal & file
End If
Else: 'download
'Trasferisce da FTP a diversa cartella locale
For Each Item In objFolderFTP.Items '
objFolderDown.CopyHere strPathFTP & Item.Name
Next
End If
Set Item = Nothing
Set objShellLocal = Nothing
Set objFolderLocal = Nothing
Set objShellFTP = Nothing
Set objFolderFTP = Nothing
Set objShellDown = Nothing
Set objFolderDown = Nothing
End Sub