1

我正在尝试从大型机中自动提取数据,并且尝试了以下解决方案,但没有成功。相反,它删除了 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。

有没有办法做到这一点?

4

1 回答 1

1

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

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

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

于 2013-03-11T20:08:28.183 回答