我希望使用thing string Shell()
函数在发生保存时自动将excel文件上传到ftp服务器:
strShell = "C:\Program Files\WinSCP\WinSCP.exe /console /command " & Chr(34) & "option batch on" & Chr(34) & " " & Chr(34) & "open user:pass@localhost" & Chr(34) & " " & Chr(34) "put " ThisWorkbook.Path & "/" & ThisWorkbook.Name & "/home/User/Directory" & Chr(34) & " " & Chr(34) "exit" & Chr(34)
由于某种原因,我收到此字符串的语法错误。我在VBA方面的知识并不广泛,但过去几个小时我在MSDN上的访问似乎没什么帮助。
答案 0 :(得分:2)
我怀疑你需要更多包含空格的文件路径的引号。就像是
strShell = "'C:\Program Files\WinSCP\WinSCP.exe' /console /command " & Chr(34) &
....
你也忘了一些" &
"就像在3dr线上一样:
Chr(34) & "put " & ThisWorkbook.Path &
再次在那一行,你可能需要用引号括起文件名!
您最好的帮助是包含Debug.Print strShell
并在VBE立即窗口中观看结果(^ G)
答案 1 :(得分:0)
根据WinSCP的文档,您需要在命令周围添加双引号。例如:
WinSCP.exe /command "option batch abort"
所以在VBA中会是:"WinSCP.exe /command ""option batch abort"""