VBA中如何用FtpFindFirstFile查看FTP上文件是否存在?

来源:百度知道 编辑:UC知道 时间:2024/05/08 03:17:20
我做的VBA是到一个ftp服务器上打开指定的文件,但是需要先判断该文件是否存在,一直都不成功,在那个cFTP的类中找到一段代码,似乎可以做这件事,但问题是FtpFindFirstFile这个函数的五个参数是什么意思???只知道其中的sFile是文件的路径,其他参数怎么定呢?下面sFile的写法正确吗?那位大哥教教我!

Sub test()

Dim sFile As String
sFile = "ftp://xxxx:123456@10.216.*.*/e:/200804/11/0000.xls"

Dim hFind As Long
Dim hConnection As Long
Dim nLastError As Long
Dim pData As WIN32_FIND_DATA

hFind = FtpFindFirstFile(hConnection, sFile, pData, 0, 0)
nLastError = Err.LastDllError
If hFind = 0 Then
If (nLastError = ERROR_NO_MORE_FILES) Then
Cells(1, 1).Value = -1 ' File not found
Else
Cells(1, 1).Value = -2 ' Other error
End If

End If

InternetCloseHandle (hFind)

End Sub
To My VBA:看了你的空间了,高手帮帮忙啊,VBA我很菜的,都是上网找点东西改改来弄,很多基础的东西不清楚。装windows的IIS开FTP很方便的,都不用光盘就可以,大哥麻烦再帮我看看。

我做过WORD中的VBA,不知道兄弟是要在什么环境中运行的。
不同环境,有些函数是有区别的
所以建议你先使用SetFTPDirectory指定目录,然后再使用FtpFindFirstFile函数,这时sFile应该就是"0000.xls"。
你可以参考一下cFTP类中的GetFTPDirectoryContent方法的代码。
还没有安装FTP服务器,还不能帮你写出完整的代码,你自己先试试,不好意思。

建议你先使用SetFTPDirectory指定目录,然后再使用FtpFindFirstFile函数,这时sFile应该就是"0000.xls"。
你可以参考一下cFTP类中的GetFTPDirectoryContent方法的代码。
还没有安装FTP服务器,还不能帮你写出完整的代码,你自己先试试,不好意思。

我做过WORD中的VBA,不知道兄弟是要在什么环境中运行的。
不同环境,有些函数是有区别的