【问题标题】:How to run ftp.bat by pressing vba button in excell?如何通过在excel中按vba按钮来运行ftp.bat?
【发布时间】:2013-02-27 02:14:17
【问题描述】:

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

有没有办法做到这一点?

【问题讨论】:

  • ftplogin2.bat 中有什么?如果您只在该文件中放置 echo hello > log.txt 会发生什么?你有 log.txt 文件吗?
  • @ftp -i -s:"%~f0"&GOTO:EOF open ip user password pwd get 'mainframe_dataset' pc_dataset.txt 我没试过。现在只能明天试试了。

标签: excel batch-file ftp dataset mainframe


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    相关资源
    最近更新 更多