我希望你能在这里帮我一些代码。我创建了一个模块,用于创建ftp命令文件,然后创建批处理文件来执行它。
我从另一个StackOverflow帖子中得到了这个过程: FTP a text file to a server using VBA in Excel
有些时候test.txt出现在服务器上,大部分时间都不出现。但是,ftp提示始终报告成功传输。
Private Sub SendFileToServer()
Dim sCmdFile As String
Dim sBatFile As String
Dim vPath As String
Dim iFileNum As Integer
vPath = ThisWorkbook.Path
sCmdFile = vPath & "\" & "ftp" & "\" & "ftpCommand.txt"
iFileNum = FreeFile
Open sCmdFile For Output As iFileNum
Print #iFileNum, "open 555.555.555.55"
Print #iFileNum, "user username"
Print #iFileNum, "password"
Print #iFileNum, "hash"
Print #iFileNum, "ascii"
Print #iFileNum, "lcd " & vPath
Print #iFileNum, "cd dsi_Timesheets"
Print #iFileNum, "put " & vPath & "\" & "test.txt"
Print #1, "close"
Print #1, "quit"
Close #iFileNum
Shell "ftp -n -i -g -s:" & vPath & "\ftp" & "\ftpCommand.txt " & vFTPServ, vbNormalNoFocus
SetAttr vPath & "\ftp" & "\ftpCommand.txt", vbNormal
Kill vPath & "\ftp" & "\ftpCommand.txt"
End Sub
由于
答案 0 :(得分:0)
找出问题:我正在使用Filezilla查看ftp服务器文件。 test.txt没有显示在ftp服务器上,因为我正在查看缓存版本。通过每次代码运行时刷新Filezilla中的ftp目录,text.txt就在那里。