如何在excel中按vba按钮运行ftp.bat?

时间:2013-03-11 19:00:54

标签: excel batch-file ftp dataset mainframe

我正在尝试从大型机自动化数据提取,我尝试了下面的解决方案,但它没有用。相反,它删除了FtpLogin2.bat文件的内容。

Private Sub Workbook_Open()
Call Shell(Environ$("COMSPEC") & " /c D:\user\MyDocs\Downloads_FTP\FtpLogin2.bat",    
vbNormalFocus)
End Sub

ftplogin2.bat的内容

@ftp -i -s:"%~f0"&GOTO:EOF 
open ip user
password ped 
get 'mainframe_dataset' pc_dataset.txt

我要做的是构建一个我有输入的表单。该输入是我想要提取的大型机文件的名称。那个数据然后出现在那个excel书的另一个工作表中。我的意思是通过一个文本字段和一个提交按钮来自动化该过程,该按钮应该在宏中触发FTP。

有没有那样做?

1 个答案:

答案 0 :(得分:1)

我认为在这种情况下使用environ()存在问题;我不确定为什么。

使用Shell("cmd.exe /c D:\user\MyDocs\Downloads_FTP\FtpLogin2.bat"

这应该适用于3.11之后的任何版本的Windows。