ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 55395|回复: 85

[共享]使用Wininet的VBA FTP操作的类模块

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2007-1-21 00:26 | 显示全部楼层 |阅读模式

这段时间看到很多有关FTP上传和下载的帖子,最近在自己的硬盘里找到一个FTP类,使用Wininet.dll的API,里面没有作者信息,估计是老外写的(从一个CSInternetTool包里找到的)。简单易用,那个工具包里有一个类模块,一个标准模块,但是没有应用的例子。不过里面的函数都十分易懂,你可以用它来做很多的FTP操作(上传,下载,删除和更名文件,创建,移动和删除文件夹)。

我在下面的例子里放了下载和上传得代码仅供参考。已经在自建的FileZilla FTP Server上试过可行的。

EnKBaXTv.rar (24.94 KB, 下载次数: 2919)


[此贴子已经被作者于2007-1-21 0:29:34编辑过]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2007-1-21 20:48 | 显示全部楼层
多谢分享。研究一下。

TA的精华主题

TA的得分主题

发表于 2007-1-21 20:56 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-9-27 20:45 | 显示全部楼层

Option Explicit
Dim cF As New cFTP
Sub DownlandFile()
    Dim strRemoteFile As String
    Set cF = New cFTP
    cF.SetModePassive
    strRemoteFile = "getpath.txt"        

    If cF.OpenConnection("127.0.0.1", "xfwen", "abc") = False Then '请问匿名和没有密码怎么填
        GoTo errhandle
    End If
    If cF.SimpleFTPGetFile("c:\vcd1\" & strRemoteFile, strRemoteFile) = False Then ‘下载到指定文件夹怎么写
        GoTo errhandle
    End If
    cF.CloseConnection
    Exit Sub
errhandle:
    MsgBox cF.GetLastErrorMessage
    cF.CloseConnection
End Sub

[此贴子已经被作者于2007-9-27 20:47:58编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-10-8 12:32 | 显示全部楼层

   If cF.OpenConnection("127.0.0.1", "xfwen", "abc") = False Then '请问匿名和没有密码怎么填

匿名和没有密码直接留空就可以了。

If cF.SimpleFTPGetFile("c:\vcd1\" & strRemoteFile, strRemoteFile) = False Then ‘下载到指定文件夹怎么写

要指定文件夹的话直接改c:\vcd1\就可以了。

TA的精华主题

TA的得分主题

发表于 2007-10-11 02:39 | 显示全部楼层

Public Declare Function FtpOpenFile Lib "wininet.dll" Alias "FtpOpenFileA" (ByVal hFtpSession As Long, ByVal sBuff As String, ByVal Access As Long, ByVal Flags As Long, ByVal Context As Long) As Long

不知到模块里上面的函数能否用来打开文件?如何应用?请搂住能解释!

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-10-13 09:55 | 显示全部楼层

你可以看看cFTP里的函数FTPDownloadFile里对FTPOpenFile的使用方法。

TA的精华主题

TA的得分主题

发表于 2007-10-22 23:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

winland大哥

请帮忙!

如果我要多文件上传或下载,代码应该怎么写?

还有能否提供对FTP的文件删除,重命名等代码,(这个已经解决,没看仔细,在CFTP类模块中还有很多代码可以参考)万分感谢!!!

[此贴子已经被作者于2007-10-23 11:23:28编辑过]

TA的精华主题

TA的得分主题

发表于 2008-1-3 01:18 | 显示全部楼层

请问服务器连通,文件传输时加个进度条怎么加?

TA的精华主题

TA的得分主题

发表于 2008-1-16 22:53 | 显示全部楼层

If cF.SimpleFTPGetFile("c:\vcd1\" & strRemoteFile, strRemoteFile) = False Then '下载的文件是当前FTP帐号所在根目录下子目录下的文件该怎么填,直接在strRemoteFile前面加路径吗?如果对方是UNIX系统服务器,路径怎么写,是'/ ' 还是'\'?

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 09:15 , Processed in 0.036455 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表