VBA实现ftp文件传输

简介: 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命令集,执行该命令集和直接在命令行窗口操作是 一模一样的,所以也就无需赘述了。

只要配置正确,就能顺利从远端获取到我们所需要的文件。

目录
相关文章
|
网络协议 C# 文件存储
C# 利用FluentFTP实现FTP上传下载功能
C# 利用FluentFTP实现FTP上传下载功能
452 0
C# 利用FluentFTP实现FTP上传下载功能
|
6月前
|
Linux 网络安全 数据安全/隐私保护
FTP 文件传输服务
FTP 文件传输服务
|
搜索推荐 网络安全 C#
一个Windows远程工具,小巧但实用,支持RDP、SSH、SFTP、FTP等多种协议
这是一个C#开发的Windows远程桌面开源项目,它支持RDP、SSH、VNC、Telnet、(S)FTP、RemoteApp、NoMachine和其他应用。
866 0
一个Windows远程工具,小巧但实用,支持RDP、SSH、SFTP、FTP等多种协议
|
Ubuntu 数据安全/隐私保护
ftp文件上传下载等系列操作
ftp文件上传下载等系列操作
114 0
ftp文件上传下载等系列操作
|
网络协议 安全 Linux
FTP文件传输
FTP文件传输
FTP文件传输
|
数据安全/隐私保护
如何通过FTP工具将文件上传到服务器
可以通过几种方式将文件上传到托管服务器。每个托管服务提供商都提供了一些带有文件管理器的托管控制面板工具,因此您可以使用它来上传文件。
如何通过FTP工具将文件上传到服务器
|
网络安全 C# 数据安全/隐私保护