VBA实现ftp文件传输

VBA本身实现ftp的文件传输操作比较复杂,但是可以很方便的调用cmd命令窗口来执行shell命令,也就是调用cmd的小黑框。这对需要远程操作数据十分有用。
我们在vb编辑器里输入如下代码:

Sub ftp()
    Dim env_addr, env_user, env_passwd, localftp, ftpfile, cfgfile As String
    env_addr = "192.168.1.112"
    env_user = "root"
    env_passwd = "root"
    localftp = "D:\ftp"
    ftpfile = "/etc/passwd"
    cfgfile = "D:\ftp\config.txt"
    If dir(ftpfile) <> Empty Then
        MsgBox "文件已成功下载"
        Exit Sub
    End If
    Open cfgfile For Output As #1
    Print #1, "open" & env_addr
    Print #1, env_user
    Print #1, env_passwd
    Print #1, "lcd " & localftp
    Print #1, "bin"
    Print #1, "prompt"
    Print #1, "get " & ftpfile
    Print #1, "bye"
    Close #1
    Shell "ftp -s:" & cfgfile, windowstyle:=vbHide
End Sub

中间一段Open ... For Output 是vba的文件操作 ,目的是创建一个ftp可以直接调用的命令集,在命令行窗口调用ftp -s: 文件名即可成功调用该命令集,从而实现我们需要的功能。
最后一行的windowstyle:=vbHide是为了把命令行的那个小黑框隐藏掉,要不然每次执行都弹出一个小黑框很影响美观。
如此,上述功能就算完成了 。当然,前提是你的远程服务器需要启动了ftp服务,否则肯定连接都连接不上。
如果正确执行,会在D:\ftp目录下生成一个配置文件:
在这里插入图片描述
这个文件里的内容其实就是一堆ftp命令集,执行该命令集和直接在命令行窗口操作是 一模一样的,所以也就无需赘述了。
只要配置正确,就能顺利从远端获取到我们所需要的文件。

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值