2015-05-12 216 views
0

我有下面的代码行中我的宏:Shell命令不产生输出文件

Shell("importFile.bat"), vbHide 

下面是我在importFile.bat:

ftp -n -i -g -s:import.ftp > C:\log.txt 

出于某种原因,每当我跑宏,log.txt文件生成但文件为空。但是当我手动尝试运行批处理文件时,我看到了FTP命令的输出。

我做错了什么?

+0

你能充实import.ftp并直接在shell中运行呢? – Jeeped

+0

我试过,但现在是没有得到根本(壳牌 “FTP -n -i -g -s:import.ftp> C:\ TEMP \ log.txt的”,vbHide)产生的log.txt文件 – whyyyy

+1

指定完整路径到文件。我每天说这个50次。 –

回答

0

尝试如下..我可以看到与FTP数据out.txt,我觉得ftp命令是不是在Excel宏能够获取import.ftp文件路径..尝试给出完整路径。你可以尝试下面的代码。

Sub ftp_button() 

batfile = FreeFile 

ftpbat = ThisWorkbook.Path & "\test.bat" 
ftpout = ThisWorkbook.Path & "\out.txt" 
ftpcmd = ThisWorkbook.Path & "\import.ftp" 'Existing ftp file - file contains one stmt "open 127.0.0.1" 

If Dir(ftpbat) <> "" Then Kill (ftpbat) 
If Dir(ftpout) <> "" Then Kill (ftpout) 

Open ftpbat For Output As #batfile 
Print #batfile, "ftp -n -i -s:" & ftpcmd; " > " & ftpout 
Close #batfile 

Shell (ftpbat), vbHide 

末次