通过FTP将文件发送到共享驱动器(UNC)

时间:2015-09-14 18:18:21

标签: excel vba excel-vba ftp unc

我有一个特殊的文件需要通过FTP发送到共享驱动器位置。

我知道有一种方法是在平面文件上写内容并使用shell脚本执行。可悲的是,由于我的发送位置很奇怪而且我不知道如何解释它,因此无法正常工作,就像这样。

//corporate.abc.com/data/ac/ny/log

我不知道上述内容是什么意思。有没有办法将数据发送到该位置?

PS:我通过Windows 运行命令打开它并打开它。它不要求任何用户身份验证。

更新:我尝试使用资源管理器打开,但我收到错误“运行时错误75,路径/文件访问错误”

Sub FtpFileto() 
Dim vFile As String
Dim vFTPServ As String
Dim fNum As Long
vPath = "C:\macro/pop.txt"
vFile = "C:\macro/post.xlsx"
vFTPServ = "corporate.abc.com" 
Open "//corporate.abc.com/data/NA/US/OC/Common/HOSTDL/CatSpec" For Output As #1
Close
Shell "ftp -n -i -g -s:" & vPath & "\FtpComm.txt " & vFTPServ, vbNormalNoFocus
End Sub

1 个答案:

答案 0 :(得分:1)

如果可以在Windows资源管理器中打开UNC路径,则意味着它可以直接访问,并且可以像使用本地路径一样使用。

Open "\\corporate.abc.com\data\ac\ny\log\test.ext" For Output As #1
Write #1, Data
Close #1

您不需要(不能)使用FTP来处理它。

请注意,UNC是一种Windows约定,因此它使用反斜杠而不是正斜杠(尽管在很多情况下Windows也会接受正斜杠)。