使用Excel中的VBA将文本文件FTP到服务器
我有一个Excel工作表,用户在其中输入某些数据,我希望将其存储在文本文件中,并使用FTP上传到服务器。一个站点建议添加对“Microsoft Internet传输控制”的引用,然后定义一个“Inet”对象来进行FTP。但是,我在VB编辑器的“工具->引用”中找不到具有此名称的引用。有人知道这个问题的解决方案吗?提前谢谢。这是我通过谷歌搜索找到的一个解决方案-使用Excel中的VBA将文本文件FTP到服务器,ftp,excel,vba,Ftp,Excel,Vba,我有一个Excel工作表,用户在其中输入某些数据,我希望将其存储在文本文件中,并使用FTP上传到服务器。一个站点建议添加对“Microsoft Internet传输控制”的引用,然后定义一个“Inet”对象来进行FTP。但是,我在VB编辑器的“工具->引用”中找不到具有此名称的引用。有人知道这个问题的解决方案吗?提前谢谢。这是我通过谷歌搜索找到的一个解决方案- Public Sub FtpSend() Dim vPath As String Dim vFile As String Dim vF
Public Sub FtpSend()
Dim vPath As String
Dim vFile As String
Dim vFTPServ As String
Dim fNum As Long
vPath = ThisWorkbook.Path
vFile = "YourFile.csv"
vFTPServ = "********"
'Mounting file command for ftp.exe
fNum = FreeFile()
Open vPath & "\FtpComm.txt" For Output As #fNum
Print #1, "user ***** *****" ' your login and password"
Print #1, "cd TargetDir" 'change to dir on server
Print #1, "bin" ' bin or ascii file type to send
Print #1, "put " & vPath & "\" & vFile & " " & vFile ' upload local filename to server file
Print #1, "close" ' close connection
Print #1, "quit" ' Quit ftp program
Close
Shell "ftp -n -i -g -s:" & vPath & "\FtpComm.txt " & vFTPServ, vbNormalNoFocus
SetAttr vPath & "\FtpComm.txt", vbNormal
Kill vPath & "\FtpComm.txt"
End Sub
原始来源:这里有一个函数用于包装Shell调用。它将等待shell命令(上面的ftp函数)完成后再继续。它来自访问站点,但应适用于任何vba主机。