从Excel超链接传递命令行参数

我想要在excel (一个超链接单元格)中单击一个单元格时执行复杂的命令行命令。 我已经尝试了一切,但我不能得到它的工作。

  1. 您可以右键单击并select“超链接”,但该对话框不支持复杂的参数(带有双引号的参数)。 你只是得到一个错误“无效的链接”。

  2. 您可以使用=HYPERLINK()公式,但根本不支持参数。 只有url被执行,比如mailto:callto: URL可以使用&arg=value传递的参数,但这对命令行参数没有好处。

我不知道还有什么可以尝试的,有什么想法?

您需要使用以下语法传递Shell命令

例如

 Sub RunCalculator() Dim ret as Double 'Optional ret = Shell("C:\Windows\System32\Calc.exe") MsgBox(ret) ' in case you are interested in the return value End Sub 

单击单元格时执行:

您需要将代码放入从Worksheet_SelectionChange()事件调用的macros中,在编辑器中打开工作表的代码时,可以使用VBE中的下拉菜单获取该macros。

无关的一面说明:这个名字让人联想到使用DOS shell的时代