小编Jon*_*igs的帖子

在Windows Server 2012 R2上从VBA调用批处理文件时出现奇怪的FTP行为

我有一个基本的.bat文件连接到FTP服务器,保存CSV文件列表,然后从FTP服务器下载所有CSV文件.我正在使用VBA来调用shell以运行.bat文件.在我的工作笔记本电脑(Windows 10)上,一切运行正常,但如果我在Windows Server 2012 R2上运行它,.bat文件会因为FTP服务器发出错误而卡住:

425无法打开数据连接以传输"/*.csv

我正在使用运行FileZilla服务器的PC进行测试,我也可以访问我客户端的FTP服务器(不确定它们在运行什么).

这就是我尝试过的:

在Windows 10和Windows Server 2012 R2上 - 禁用防火墙,64位操作系统,Excel 2010 32位.

在Windows 10笔记本电脑上:

  • 从命令提示符运行批处理文件工作正常
  • 从我的VBA代码正在使用的Windows运行窗口(Winkey + R)运行命令字符串,工作正常
  • 通过任务计划程序将批处理文件作为任务运行,工作正常
  • 运行调用shell以运行.bat文件的VBA子,工作正常

在Windows Server 2012 R2服务器上:

  • 从命令提示符运行批处理文件工作正常
  • 从我的VBA代码正在使用的Windows运行窗口(Winkey + R)运行命令字符串,工作正常
  • 通过任务计划程序将批处理文件作为任务运行,工作正常

问题:

  • 运行调用shell的VBA sub来运行.bat文件,批处理挂起.观察FTP服务器,批处理文件完成登录,然后显示错误425:

(000046)9/21/2015 10:36:11 AM - test(10.32.0.75)> 150打开"/ .csv"
目录列表的数据通道 (000046)9/21/2015 10:36:22 AM -试验(10.32.0.75)> 425无法为"/转移打开数据连接的.csv"
(000046)2015年9月21日上午10点36分26秒-试验(10.32.0.75)>断开.

当我尝试在Server 2012 R2计算机上使用VBA执行批处理文件时,它似乎只是这样做.我不知所措......任何想法?

批处理文件代码:

@echo off
REM Enter the username
echo user test> ftpcmd.dat

REM Enter the password
echo test>> ftpcmd.dat

REM Change the local computers' directory
echo …
Run Code Online (Sandbox Code Playgroud)

ftp excel vba batch-file

5
推荐指数
1
解决办法
810
查看次数

标签 统计

batch-file ×1

excel ×1

ftp ×1

vba ×1