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

时间:2014-07-16 11:26:40

标签: excel vba command-line

当我单击excel中的单元格(一个超链接单元格)时,我想执行一个复杂的命令行命令。我已经尝试了所有的东西,但我无法让它发挥作用。

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

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

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

1 个答案:

答案 0 :(得分:2)

您需要使用以下语法

传递Shell命令

e.g。

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()事件中调用的宏中,当您在编辑器中打开工作表的代码时,可以使用VBE中的下拉列表获取该宏。 / p>

无关旁注:该名称提醒人们使用DOS shell时的次数