是否可以在不使用 Batch 作为网关(VBA -> Batch -> Perl)的情况下将变量从 excel 传递到 perl 脚本,如果不可能,我如何将批处理变量发送到 Perl?
问问题
302 次
1 回答
0
您不能将变量传递给/在脚本之间传递,但可以将值传递给/在进程之间传递。
这样做的方法的数量几乎是无限的。将值从一个进程传递到另一个进程的最常见方法是通过命令行参数。这显示了如何从 VBA 执行另一个程序(例如批处理文件)。
下面是一个将参数传递给 Perl 脚本的批处理文件的示例,该脚本反过来打印它们。
>type a.bat
@echo off
echo Start of batch file
perl a.pl %*
echo End of batch file
>type a.pl
use strict;
use warnings;
use feature qw( say );
say 'Start of Perl script';
say for 0+@ARGV, @ARGV;
say 'End of Perl script';
>a.bat abc "123 456" def
Start of batch file
Start of Perl script
3
abc
123 456
def
End of Perl script
End of batch file
于 2015-05-20T19:19:46.037 回答