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

标签 excel vba command-line

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

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

  2. 您可以使用 =HYPERLINK() 公式,但它根本不支持参数。仅执行 Web 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() 事件调用的宏中,当您在编辑器中打开工作表的代码时,可以通过使用 VBE 中的下拉列表来获取该事件。

不相关的旁注:这个名字让人想起使用 DOS shell 的时代

关于excel - 从 Excel 超链接传递命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24779596/

相关文章:

VBA Document.Protect 未设置 wdProtectionType (Office 2007)

vba - 暗淡并在所有模块excel vba中设置一个变量

VBA宏: Formula is Based on a Column that changes locations

javascript - 突出显示文档中的绑定(bind)

excel - 将 Power Query 应用于所有列

excel - 复制或剪切时强制粘贴值以避免格式或数据验证更改(包括外部数据)

go - 为已执行的进程创建等待/忙碌指示器

python - 如何在Python中调用自定义的命令行函数

shell - 如何在buildbot的shell命令行中添加 "&&"?

excel - 获取Google相册中所有文件的列表