No se puede utilizar FTP para operar archivos locales en VB, ¿por qué?
Módulo (ftp.cls)
Clase VERSIÓN 1.0
BEGIN
MultiUse = -1 ' Verdadero
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject< / p>
END
Atributo VB_Name = "FTP1"
Atributo VB_GlobalNameSpace =False
Atributo VB_Creatable = True
Atributo VB_PredeclaredId = False
Atributo VB_Exposed = False
'******************
'descargar por
'************************
Función de declaración privada InternetOpen _
Lib "wininet.dll " _
Alias "InternetOpenA" (ByVal sAgent como cadena, _
ByVal lAccessType como largo, _
ByVal sProxyName Como cadena, _
ByVal sProxyBypass como cadena, _
ByVal lFlags As Long) As Long
Función de declaración privada InternetConnect _
Lib "wininet.dll" _
Alias "InternetConnectA" (ByVal hInternetSession As Long, _
ByVal sServerName Como cadena, _
ByVal nServerPort Como Entero, _
ByVal sUsername como cadena, _
ByVal sPassword como cadena, _
ByVal lService mientras, _
ByVal lFlags As Long, _
ByVal lContext As Long) As Long
Función de declaración privada FtpGetFile _
Lib "wininet.dll" _
Alias "FtpGetFileA" (ByVal hFtpSession As Long, _
ByVal lpszRemoteFile As String, _
ByVal lp
szNewFile como cadena, _
ByVal fFailIfExists como booleano, _
ByVal dwFlagsAndAttributes como largo, _
ByVal dwFlags como largo, _
ByVal dwContext As Long) Como booleano
Función de declaración privada FtpPutFile _
Lib "wininet.dll" _
Alias "FtpPutFileA" (ByVal hFtpSession Mientras, _
ByVal lpszLocalFile como cadena, _
ByVal lpszRemoteFile como cadena, _
ByVal dwFlags Mientras, _
ByVal dwContext As Long) Como Booleano
Función de declaración privada FtpDeleteFile _
Lib "wininet.dll" _
Alias "FtpDeleteFileA" (ByVal hFtpSession Como Largo, _
ByVal (lpszFileName como cadena) como booleano
Función de declaración privada FtpRenameFile _
Lib "wininet.dll" _
Alias "FtpRenameFileA" (ByVal hFtpSession As Long, _
ByVal lpszExsiting As String, _
ByVal lpszNew As String) Como booleano
Función de declaración privada InternetCloseHandle _
Lib "wininet.dll" (ByVal hInet As Long) como entero
Función de declaración privada FtpCreateDirectory _
Lib "wininet.dll" _
Alias " FtpCreateDirectoryA" (ByVal hFtpSessionamp;, _
ByVal lpszDirectory$) como booleano
Atenuar el estado de la conexión como booleano
Dim Connection Handle As Long
Función pública Conectarse al servidor (ip como cadena, puerto como entero, cuenta como cadena, contraseña como cadena) como booleano
Dim Inicializar mientras
Inicializar = InternetO
pen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0amp;)
Identificador de conexión = InternetConnect(Initialize, ip, Puerto, Cuenta, Contraseña, 1, 0, 0)
Si está conectado El identificador es gt; 0 entonces
Estado de conexión = Verdadero
De lo contrario
Estado de conexión = Falso
Finalizar si
Servidor de conexión = Estado de conexión
Función final
Función pública Cargar archivos (ruta local como cadena, ruta remota como cadena) como booleano
Si hay conexión Estado = Verdadero Entonces
Cargar archivo = FtpPutFile(identificador de conexión, ruta local, ruta remota, 1, 0)
más
MsgBox "Confirme la conexión primero p> Finalizar si
Finalizar función
Archivo de descarga de función pública (ruta remota como cadena, ruta local como cadena) como booleano
Si estado de conexión = Verdadero entonces
Descargar archivo = FtpGetFile (identificador de conexión, ruta remota, ruta local, falso y H80000000 y H0, 0)
más
MsgBox " Primero confirme la conexión"
Finalizar si
Finalizar función
Función pública Eliminar archivo (ruta remota como cadena) como booleano
Si Estado de conexión = Verdadero Entonces
DeleteFile = FtpDeleteFile(identificador de conexión, ruta remota)
De lo contrario
MsgBox "Primero confirme la conexión.
"
Finalizar si<
Finalizar función
Función pública Crear directorio (ruta ByVal como cadena) como cadena
Si estado de conexión = Verdadero Entonces
CreateDirectory = FtpCreateDirectory(ConnectionHandle, Path)
Else
MsgBox "Primero confirme la conexión"
Finalizar si< / p>
Función final
Cambio de nombre de archivo de función pública (nombre de archivo original de ByVal como cadena, nombre de archivo nuevo de ByVal como cadena)
Si estado de conexión = Verdadero, entonces
ReturnValamp;= FtpRenameFile(identificador de conexión, nombre de archivo original, nombre de archivo nuevo)
Else
MsgBox "Primero confirme la conexión"
Fin si
p>Finalizar función
Finalizar función p>
Llamada de ventana:
Atenuar Fffd como FTP1
Establecer Fffd = Nuevo FTP1
Llame a Fffd. Conéctese al servidor (dirección IP, 21, "Nombre de usuario", "Contraseña")
Llame a Fffd.Upload File(Mid(Nombre de archivo, 7))
.