用双引号括起完整的文件路径

时间:2015-10-09 11:14:01

标签: excel vba excel-vba ftp

我有一个文件,我需要使用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
  

在上面的代码中,我收到了找不到文件的错误。

enter image description here

原因是文件路径和名称不在""中,例如此代码正在编写另一个脚本文件并执行该文件。

所以需要

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 语句中的" ",我不知道如何将它们放在那里。

1 个答案:

答案 0 :(得分:5)

使用""在vb字符串中转义"

所以

Print #iFreeFile, "put """ & sWorkingDirectory & sFileToSend & """"