我有一个文件,我需要使用VBA进行FTP,除了最后一个我需要在文件名中插入"
但无法做到的时候,我已经找到了大部分内容。
csvPath = "C:\Users\10613527\Desktop\test\"
sWorkingDirectory = csvPath
sFileToSend = "Price_Change_10-08-15 20-35-49.csv"
iFreeFile = FreeFile
Open sWorkingDirectory & FTP_BATCH_FILE_NAME For Output As #iFreeFile
Print #iFreeFile, "open " & FTP_ADDRESS
Print #iFreeFile, FTP_USERID
Print #iFreeFile, FTP_PASSWORD
Print #iFreeFile, "ASCII"
Print #iFreeFile, "put " & sWorkingDirectory & sFileToSend
Print #iFreeFile, "dir"
Close #iFreeFile
'Shell command the FTP file to the server
Shell "ftp -i -w:20480 -s:" & sWorkingDirectory & FTP_BATCH_FILE_NAME
在上面的代码中,我收到了找不到文件的错误。
原因是文件路径和名称不在""
中,例如此代码正在编写另一个脚本文件并执行该文件。
所以需要
open ftp path
username
password
ASCII
put "C:\Users\10613527\Desktop\test\Price_Change_10-08-15 20-35-49.csv"
dir
而非
open ftp path
username
password
ASCII
put C:\Users\10613527\Desktop\test\Price_Change_10-08-15 20-35-49.csv
dir
请注意 PUT 语句中的" "
,我不知道如何将它们放在那里。
答案 0 :(得分:5)
使用""
在vb字符串中转义"
。
所以
Print #iFreeFile, "put """ & sWorkingDirectory & sFileToSend & """"