Ⅰ 如何在VBA中增加代碼,可使導入FTP://1.1.1.1/下的文件自動錄入用戶名和密碼
俺也不會阿 等高手解答
Ⅱ vba 中的用shell連接FTP伺服器問題問題
因為shell語句是調用程序來運行的,你應該調用程序,並且把參數傳遞給程序,這樣就行了...
比如,Shell "C:\Program Files\Internet Explorer\iexplore.exe www..com",這樣就能用IE鏈接到網路上...
你的可以試試Shell "C:\Program Files\Internet Explorer\iexplore.exe ftp://[email protected]\123\123\12#.xls",用Shell "C:\WINDOWS\explorer.exe " & "ftp://[email protected]\123\123\12#.xls"也可以...我這邊測試時沒許可權,上不去...
由於你是連接伺服器,有時需要用戶許可權,這樣的話,參數就要相對復雜一點...
Ⅲ VBA中如何用FtpFindFirstFile查看FTP上文件是否存在
建議你先使用SetFTPDirectory指定目錄,然後再使用FtpFindFirstFile函數,這時sFile應該就是"0000.xls"。
你可以參考一下cFTP類中的GetFTPDirectoryContent方法的代碼。
還沒有安裝FTP伺服器,還不能幫你寫出完整的代碼,你自己先試試,不好意思。
Ⅳ 怎樣用vba實現文件上傳到ftp服務中
VBA訪問FTP進行文件傳輸的,網路上見到3種方式,用過2種。
一、VBA+DOS批處理的方式,本質上還是通過DOS來進行,有點麻煩,而且運行中會彈出CMD窗口,現在已經不用這種方法了。
VBA寫DOS:
OpengetfdForOutputAs#1
Print#1,""
Print#1,"("
Print#1,"echo;openxx.xx.xx.xx"
Print#1,"echo;user"
Print#1,"echo;pwd"
Print#1,"echo;cd""";ftpfdx8;""""
Print#1,"echo;prompt"
Print#1,"echo;dir"
Print#1,"echo;bye"
Print#1,")>""";fdx8;""""
Print#1,
Print#1,"ftp-v-i-s:""";fdx8;"""|find""ftpgroup"">""";folderx8;""""
Print#1,
VBA運行它:
Shell("ftp-v-i-s:"&ftpfile)
二、VBA調用API,具體是basp21.dll
詳見http://www.hi-ho.ne.jp/babaq/eng/basp21f.html,說明很詳細,有實例
示例如下,比較簡單易懂,其中getfile為下載,上傳使用putfile就好了。
PrivateSubForm_Load()
DimftpAsObject,rcAsLong,vAsVariant,v2AsVariant
DimctrAsLong
Setftp=CreateObject("basp21.FTP")
ftp.OpenLog"c: emplog.txt"
rc=ftp.Connect("ftp.microsoft.com","anonymous","")
Ifrc=0Then
v=ftp.GetDir("bussys/winnt/winnt-public",2)
IfIsArray(v)Then
ForEachv2Inv
Debug.Printv2
Next
EndIf
v=ftp.GetDir("bussys/winnt/winnt-public")
IfIsArray(v)Then
ForEachv2Inv
Debug.Printv2
Next
EndIf
rc=ftp.GetFile("bussys/winnt/winnt-public/*","c: emp")
EndIf
End
EndSub
Ⅳ vba FTP連接Internetopen每次返回的句柄都一樣,斷開網路也不會出錯怎麼回事
這個句柄是空閑的 可用的句柄 誰申請 誰就拿過來用 沒人申請 就一直放著
你可以在不關閉句柄的情況下 多次open 你就能知道句柄是不一樣的
Ⅵ excel VBA有關ftp的函數調用出錯
我在VB6.0環境下運行你的程序沒有發生錯誤。
會不會是網路不通暢引起的錯誤呢?
Ⅶ excel vba 另存文件到ftp
先新增文件,再的方式做唄
Ⅷ VBA中如何用Dir()函數查看ftp伺服器上的文件是否存在
要用SHELL函數:
shell(dir xxxx)
DOS底下的FTP 你可以查幫助
FTP -? 然後按照你的需要寫命令.
例如:
shell("ftp 12.216.10.10 -s:a.txt")
在a.txt里定義你的所有輸入行:
youruserid
password(或anonymous)
cd .\data\200804\01\
dir *.xls
quit
Ⅸ Excel 怎樣用vba實現文件上傳到ftp服務中
VBA訪問FTP進行文件傳輸的,網路上見到3種方式,用過2種。
一、VBA+DOS批處理的方式,本質上還是通過DOS來進行,有點麻煩,而且運行中會彈出CMD窗口,現在已經不用這種方法了。
VBA寫DOS:
OpengetfdForOutputAs#1
Print#1,""
Print#1,"("
Print#1,"echo;openxx.xx.xx.xx"
Print#1,"echo;user"
Print#1,"echo;pwd"
Print#1,"echo;cd""";ftpfdx8;""""
Print#1,"echo;prompt"
Print#1,"echo;dir"
Print#1,"echo;bye"
Print#1,")>""";fdx8;""""
Print#1,
Print#1,"ftp-v-i-s:""";fdx8;"""|find""ftpgroup"">""";folderx8;""""
Print#1,
VBA運行它:
Shell("ftp-v-i-s:"&ftpfile)
二、VBA調用API,具體是basp21.dll
詳見http://www.hi-ho.ne.jp/babaq/eng/basp21f.html,說明很詳細,有實例
示例如下,比較簡單易懂,其中getfile為下載,上傳使用putfile就好了。
PrivateSubForm_Load()
DimftpAsObject,rcAsLong,vAsVariant,v2AsVariant
DimctrAsLong
Setftp=CreateObject("basp21.FTP")
ftp.OpenLog"c: emplog.txt"
rc=ftp.Connect("ftp.microsoft.com","anonymous","")
Ifrc=0Then
v=ftp.GetDir("bussys/winnt/winnt-public",2)
IfIsArray(v)Then
ForEachv2Inv
Debug.Printv2
Next
EndIf
v=ftp.GetDir("bussys/winnt/winnt-public")
IfIsArray(v)Then
ForEachv2Inv
Debug.Printv2
Next
EndIf
rc=ftp.GetFile("bussys/winnt/winnt-public/*","c: emp")
EndIf
End
EndSub