我试图从多个FTP服务器检索特定文件。这些服务器详细信息存储在Excel文件中。所以我正在编写VBA代码来生成.bat文件。使用ftp.exe(使用VBA生成批处理文件)按顺序连接到多个FTP服务器
代码:
Const script = "C:\Users\xyz.abc\trial.bat"
Dim fileno As Integer
Dim retval As Variant
fileno = FreeFile
Open script For Output As #fileno
Dim i As Integer
Print #fileno, "open " & Cells(2, 2).Value 'server ip
Print #fileno, Cells(2, 3).Value 'username
Print #fileno, Cells(2, 4).Value 'password
Print #fileno, "cd " & Cells(2, 5).Value 'path
Print #fileno, "get " & Cells(2, 6).Value 'filename
Print #fileno, "bye"
Print #fileno, "open " & Cells(3, 2).Value 'server ip
Print #fileno, Cells(3, 3).Value 'username
Print #fileno, Cells(3, 4).Value 'password
Print #fileno, "cd " & Cells(3, 5).Value 'path
Print #fileno, "get " & Cells(3, 6).Value 'filename
Print #fileno, "bye"
Close #fileno
我面对的是它被记录到的第一个服务器,检索文件,然后停止的问题。它不会继续下一次服务器登录。单独它对两台服务器都有效。通过.bat文件帮助我进行多次登录。
+0
如果在'打印#文件'打开'&Cells(3,2).Value'之前添加'打印#文件,SLEEP 10',会发生什么?你也可能想完全限定你的单元格对象。例如'Cells(2,2).Value'应该是ThisWorkbook.Sheets(“Sheet1”)。Cells(2,2).Value' –