访问Excel VBA中的命令行数据失败

访问Excel VBA中的命令行数据失败,excel,vba,Excel,Vba,我需要访问Excel VBA宏中的命令行参数,发现了许多变体,但只有一个与Excel-2010一起使用,似乎API随着时间的推移发生了变化。我尝试了我找到“”的代码: 我将其放入电子表格的自动打开宏中。如果我试着打这个电话: start excel TestMacro.xlsm /e/abcd/xyz 它似乎总体上起作用,宏报告: Command line = " C:/.../excel.exe TestMacro.xlsm" 所以我得到了调用部分,但是参数丢失了 部分解决方案: 我发现如

我需要访问Excel VBA宏中的命令行参数,发现了许多变体,但只有一个与Excel-2010一起使用,似乎API随着时间的推移发生了变化。我尝试了我找到“”的代码:

我将其放入电子表格的自动打开宏中。如果我试着打这个电话:

start excel TestMacro.xlsm /e/abcd/xyz
它似乎总体上起作用,宏报告:

Command line = " C:/.../excel.exe TestMacro.xlsm"
所以我得到了调用部分,但是参数丢失了

部分解决方案: 我发现如果我将调用更改为:

   start excel  /e/abcd/xyz TestMacro.xlsm
它可以工作,除了必须更改解析代码以忽略不在末尾的文件名,而且此表单似乎不允许在任何参数中使用任何空格,即使引用。系统似乎将它们解释为目标excel文件的文件名,并给出一个错误。例如:

start excel /e/abc/"my sheet"/ TestMacro.xlsm
给出了错误:

file 'sheet"/.xlsx' not found

虽然在错误的启动错误之后,预期的工作表确实会打开,并使整条生产线都可以使用。

您真正想做什么?是否要打开excel工作簿?如果您能与我们分享您的最终目标和当前使用的UI,那就更好了。您需要使用命令行的原因是什么?我不认为所有细节都太相关,但我想这样调用它:“启动excel mySheet.xlsm/e/abc/def”,并让启动宏获取要操作的参数。您明白了吗?是的,有点-如上所述。我只使用一个/e/格式的参数,并使用类似URL的参数编码将多个值放入该参数中。对于空格,我只使用了“\\”。您可以在excel论坛中询问,可能还有其他更好的方法。
file 'sheet"/.xlsx' not found