現(xiàn)在是該設(shè)置控件屬性的時候了:
將URL屬性設(shè)置為FTP服務(wù)器的URL。
將用戶名(Username)和密碼(Password)的屬性設(shè)置為合法的用戶ID和密碼,這也是FTP所要用到的。(如果你將這些屬性留成空白,那么用戶名屬性就會被設(shè)置為匿名(anonymous),而密碼屬性會被設(shè)置為一個缺省的密碼。)
將協(xié)議(Protocol)屬性設(shè)置為icFTP,這是訪問FTP所需要的。設(shè)置一下RequestTimeout,以防止在服務(wù)器沒有相應(yīng)的時候控件掛起。例如:
With Inet1
.URL = "ftp://myftpserver"
.UserName = "myusername"
.Password = "mypassword"
.Protocol = icFTP
.RequestTimeout = 120
End With
要進(jìn)行GET或者PUT操作,就要調(diào)用Execute方法。第一個自變量是可選的,它允許你指定URL。第二個自變量能夠讓你指定要進(jìn)行的操作。當(dāng)GET操作被調(diào)用的時候,你必須傳遞被請求文件的名稱和要創(chuàng)建的本地文件名。當(dāng)PUT操作被調(diào)用的時候,要被上傳的文件就會被指定,然后就在FTP服務(wù)器上創(chuàng)建這個文件。
Call Inet1.Execute(, "GET ftpfile.txt c:\temp\ftpfile.txt")
Call Inet1.Execute(, "PUT c:\temp\ftpfile.txt ftpfile2.txt")
Execute方法是異步工作的,所以你可以使用StateChanged事件來監(jiān)控這項(xiàng)操作的進(jìn)展情況。State自變量會是一個StateConstant。你可以使用對象瀏覽器(Object Browser)或者在線幫助(Online Help)來查看State所有合法的值。
Private Sub Inet1_StateChanged(ByValState As Integer)
Debug.PrintState
End Sub
如果State等于icError,那么你可以通過ResponseCode和ResponseInfo屬性來獲取錯誤信息。
Debug.Print Inet1.ResponseCode
Debug.Print Inet1.ResponseInfo