Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用VBA请求FTP文件时出现的问题_Excel_Vba_Ftp - Fatal编程技术网

Excel 使用VBA请求FTP文件时出现的问题

Excel 使用VBA请求FTP文件时出现的问题,excel,vba,ftp,Excel,Vba,Ftp,我试图在我的例程中加入一部分,从FTP位置检索.xls文档 我已经在谷歌上搜索了好几个小时了,我开始对这段代码感到非常失望 运行代码时,我收到运行时错误“3001”,表示我的参数类型错误,超出可接受范围,或者相互冲突 Sub GetFTPFile() Dim objXML Dim strFTPResponse Dim varUser, varPassword As Variant Dim LocalDir As String Set objXML = C

我试图在我的例程中加入一部分,从FTP位置检索.xls文档

我已经在谷歌上搜索了好几个小时了,我开始对这段代码感到非常失望

运行代码时,我收到运行时错误“3001”,表示我的参数类型错误,超出可接受范围,或者相互冲突

Sub GetFTPFile()
    Dim objXML
    Dim strFTPResponse
    Dim varUser, varPassword As Variant
    Dim LocalDir As String

    Set objXML = CreateObject("MSXML2.XMLHTTP")

    strURL = "ftp://xyz_hourly.xls"
    LocalDir = "c//"
    varUser = "xxx"
    varPassword = "yyy"

    Call objXML.Open("GET", strURL, varUser, varPassword, False)
    Call objXML.send

    Do While objXML.readystate <> 4
        DoEvents
    Loop

    Set File = CreateObject("ADODB.Stream")
    File.Type = 1
    File.Open
    File.Write objXML.ResponseBody
    File.SaveToFile "c//yyy.xlsx", 2
End Sub
子GetFTPFile()
Dim objXML
Dim STRFTPRONSE响应
Dim varUser,varPassword作为变量
Dim LocalDir作为字符串
设置objXML=CreateObject(“MSXML2.XMLHTTP”)
strURL=”ftp://xyz_hourly.xls"
LocalDir=“c/”
varUser=“xxx”
varPassword=“yyy”
调用objXML.Open(“GET”、strURL、varUser、varPassword、False)
调用objXML.send
执行objXML.readystate 4时
多芬特
环
Set File=CreateObject(“ADODB.Stream”)
File.Type=1
文件。打开
File.Write objXML.ResponseBody
File.SaveToFile“c//yyy.xlsx”,2
端接头

请参见我关于使用VBA下载文件的帖子:请参见我的帖子第2页,其中包含
下载二进制文件的过程。刚刚在
ftp
链接上测试了它,它就工作了。