![Excel 中的公式 =cmd|'/C calc'!A0 起什么作用?为什么?](https://linux22.com/image/1513813/Excel%20%E4%B8%AD%E7%9A%84%E5%85%AC%E5%BC%8F%20%3Dcmd%7C'%2FC%20calc'!A0%20%E8%B5%B7%E4%BB%80%E4%B9%88%E4%BD%9C%E7%94%A8%EF%BC%9F%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%9F.png)
在 Windows 7 上的 Excel 2013 中,您可以创建如下所示的公式...
=cmd|'/C calc'!A0
当您按下回车键时,您会收到一条安全警告。如果您同意,那么您将看到 Windows 计算器运行。
我相信这对相当多版本的 Excel 都有效。
看起来 cmd 正在使用命令行参数 /C calc 运行,这使得计算器运行,而无需打开 cmd shell。
但是 !A0 在做什么?
答案1
我认为正在发生的事情是!
执行其一贯的操作 - 告诉 Excel 它正在寻找此表上没有的内容。
通常情况下,它会期望在引用之前的任何位置有一个单元格引用!
,但在这里,一旦它离开工作表,它就会进入文件系统以查找引用的工作簿。由于引用不是 Excel 工作簿的路径,而是命令行指令,因此它会执行该指令,并且永远不会需要单元格引用!
。
所以,A0 完全是任意的 - 我已将其更改为=cmd|' /C calc'!notthissheet
并且=cmd|' /C calc'!xxx
它仍然可以工作。
(这是在 Excel 2016 中)