如何在 Perl 中传递从 VBA 到 $ARGV [0] 的路径

How to pass a path from VBA to $ARGV [0] in Perl

我想使用命令行参数 argv[0] 来记忆我的 Excel 文件的路径, 为了在 Perl 之后使用它,请问我如何在 VBA 中执行此操作? 我有这个提议,但是行不通!

#code VBA :
Sub Import_Dico_Csv()
Dim path As String
path = Application.ActiveWorkbook.Path
    my.application.commandlineargs.item(0) = path     'argv[0]
End Sub

不确定您要做什么,但您可以使用 VBA 创建一个环境变量,然后 perl 脚本可以使用它。

Option Explicit
Sub Env_MyXLSPath()
    
    Dim cmd As String
    cmd = "SETX MYXLSPATH """ & ThisWorkbook.FullName & """"
    'Debug.Print cmd
    Shell cmd

End Sub
#!perl
use strict;
print $ENV{'MYXLSPATH'}."\n";