buff1 = Space$(64): buff2 = Space$(128) '创建一个ftp hInter = InternetOpen("wydrwtedr", 4, vbNullString, vbNullString, 0) '连接到服务器 hInterSi = InternetConnect(hInter, IP地址, 21, 用户名, 密码, 1, 0, 0) '设置路径 FtpSetCurrentDirectory hInterSi, TxtPath.Text FtpGetCurrentDirectory hInterSi, buff1, Len(buff1) '上传文件 FtpPutFile hInterSi, App.Path & "\temp.txt", FileName, 1, 0你要把以下这段放到一模块中。 Option Explicit Public Declare Function FtpGetFile Lib "WinInet" Alias "FtpGetFileA" _ (ByVal hFtpSessions As Long, ByVal lpszRemoteFile As String, ByVal _ lpszNewFile As String, ByVal fFailIfExists As Boolean, ByVal _ dwLocalFlagAndAttributes As Long, ByVal dwInternetFlags As Long, _ ByVal dwContext As Long) As Long
Public Declare Function InternetOpen Lib "WinInet" Alias "InternetOpenA" _ (ByVal lpszAgent As String, ByVal dwAccessType As Long, ByVal lpszProxyName _ As String, ByVal lpszProxyBypass As String, ByVal dwFlags As Long) As LongPublic Declare Function InternetConnect Lib "WinInet" Alias "InternetConnectA" _ (ByVal hInternetSession As Long, ByVal lpszServerName As String, ByVal nServerPort _ As Integer, ByVal lpszUsername As String, ByVal lpszPassword As String, ByVal _ dwService As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As LongPublic Declare Function InternetCloseHandle Lib "WinInet" _ Alias "InternetCloseHandleA" (ByVal hInet As Long) As LongPublic Declare Function InternetGetLastResponseInfo Lib "WinInet" _ Alias "InternetGetLastResponseInfoA" (ByRef lpdwError As Long, _ ByVal lpszBuffer As String, ByRef lpdwBufferLength As Long) As BooleanPublic Declare Function FtpPutFile Lib "WinInet" Alias "FtpPutFileA" _ (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, ByVal lpszNewRemoteFile _ As String, ByVal dwFlags As Long, ByVal dwContext As Long) As BooleanPublic Declare Function GetLastError Lib "kernel32" () As LongPublic Declare Function FtpGetCurrentDirectory Lib "WinInet" Alias _ "FtpGetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszCurrentDirectoty _ As String, ByRef lpdwCurrentDirectory As Long) As LongPublic Declare Function FtpSetCurrentDirectory Lib "WinInet" Alias _ "FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory _ As String) As BooleanPublic Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias _ "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions _ As Long, ByVal samDesired As Long, phkResult As Long) As LongPublic Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As Long, ByVal dwOptions As Long, ByVal samDesired As Long, ByVal lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Public Const REG_SZ = 1 Public Const REG_BINARY = 3 Public Const REG_DWORD = 4Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const HKEY_CURRENT_USER = &H80000001 Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const HKEY_USERS = &H80000003 Public Const HKEY_PERFORMANCE_DATA = &H80000004 Public Const HKEY_CURRENT_CONFIG = &H80000005 Public Const HKEY_DYN_DATA = &H80000006Public Const REG_CREATED_NEW_KEY = &H1 Public Const REG_OPENED_EXISTING_KEY =
在线等待
谢谢
'创建一个ftp
hInter = InternetOpen("wydrwtedr", 4, vbNullString, vbNullString, 0)
'连接到服务器
hInterSi = InternetConnect(hInter, IP地址, 21, 用户名, 密码, 1, 0, 0)
'设置路径
FtpSetCurrentDirectory hInterSi, TxtPath.Text
FtpGetCurrentDirectory hInterSi, buff1, Len(buff1)
'上传文件
FtpPutFile hInterSi, App.Path & "\temp.txt", FileName, 1, 0你要把以下这段放到一模块中。
Option Explicit
Public Declare Function FtpGetFile Lib "WinInet" Alias "FtpGetFileA" _
(ByVal hFtpSessions As Long, ByVal lpszRemoteFile As String, ByVal _
lpszNewFile As String, ByVal fFailIfExists As Boolean, ByVal _
dwLocalFlagAndAttributes As Long, ByVal dwInternetFlags As Long, _
ByVal dwContext As Long) As Long
Public Declare Function InternetOpen Lib "WinInet" Alias "InternetOpenA" _
(ByVal lpszAgent As String, ByVal dwAccessType As Long, ByVal lpszProxyName _
As String, ByVal lpszProxyBypass As String, ByVal dwFlags As Long) As LongPublic Declare Function InternetConnect Lib "WinInet" Alias "InternetConnectA" _
(ByVal hInternetSession As Long, ByVal lpszServerName As String, ByVal nServerPort _
As Integer, ByVal lpszUsername As String, ByVal lpszPassword As String, ByVal _
dwService As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As LongPublic Declare Function InternetCloseHandle Lib "WinInet" _
Alias "InternetCloseHandleA" (ByVal hInet As Long) As LongPublic Declare Function InternetGetLastResponseInfo Lib "WinInet" _
Alias "InternetGetLastResponseInfoA" (ByRef lpdwError As Long, _
ByVal lpszBuffer As String, ByRef lpdwBufferLength As Long) As BooleanPublic Declare Function FtpPutFile Lib "WinInet" Alias "FtpPutFileA" _
(ByVal hFtpSession As Long, ByVal lpszLocalFile As String, ByVal lpszNewRemoteFile _
As String, ByVal dwFlags As Long, ByVal dwContext As Long) As BooleanPublic Declare Function GetLastError Lib "kernel32" () As LongPublic Declare Function FtpGetCurrentDirectory Lib "WinInet" Alias _
"FtpGetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszCurrentDirectoty _
As String, ByRef lpdwCurrentDirectory As Long) As LongPublic Declare Function FtpSetCurrentDirectory Lib "WinInet" Alias _
"FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory _
As String) As BooleanPublic Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias _
"RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions _
As Long, ByVal samDesired As Long, phkResult As Long) As LongPublic Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As Long, ByVal dwOptions As Long, ByVal samDesired As Long, ByVal lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Public Const REG_SZ = 1
Public Const REG_BINARY = 3
Public Const REG_DWORD = 4Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_DYN_DATA = &H80000006Public Const REG_CREATED_NEW_KEY = &H1
Public Const REG_OPENED_EXISTING_KEY =
[email protected]谢谢了
Inet1.Execute "ftp://190.2.200.104", "put d:\prodda.ec.d.ec32r1 pub/eqms/prodda.ec.d.ec32r1"
编写FTP批命令文件,比如:
ftpcmd.txt:
open ftpserver
myname
mypassword
mput c:\files\*.* /home/user/upfiles/*
quit
然后在VB里调用 Shell "FTP.EXE -s ftpcmd.txt",vbHide