|
|
1
4
使用
获取excel.exe文件的完整文件名。然后使用
据我所知,这种方法总是有效的。 |
|
|
2
1
您可以使用此函数使用的相同注册表位置来获取已安装的Excel版本。
基本上,您必须克隆该函数注册表代码的大部分。
您可以通过类似于
您必须在打开注册表
例如,在我的工作站上,我只安装了Excel 2013,它对应于hkey_classes_root\excel.application.15。 但在另一个工作站上,我安装了Excel2003和Excel2010,在这两个工作站中测试不同的XLSX实现,所以我有两个注册表项。 hkey_classes_root\excel.application.12 hkey_classes_root\excel.application.14 所以,您必须用这个名称、点和数字枚举所有这些分支。 注意:关键字hkey_classes_root\excel.application\curver的名称为“default”excel,但在安装多个excel时,“default”的含义不明确。如果您不在乎,您可以使用这个默认值,或者您可以根据自己的想法来决定选择什么,比如如果您想要最大的Excel版本或者最小的版本或者其他什么版本。
然后,对于每个特定的Excel分支,您应该阅读
默认密钥
它的CLSID支行。
喜欢
然后进行第二次搜索-进入一个名为like的分支
如果该分支存在-获取名为“default key”的nil值以获取类似
最后一个结果是命令行。它以文件名开头(本例中不带引号,但可以用引号括起来),后面跟着可选的命令行。 您不需要命令行,所以您必须提取初始的逗号ind,引用与否。 然后你必须检查这样一个exe文件是否存在。如果是-你可以启动它,如果不是-检查注册表的其他Excel版本。 |
|
zeus · 如何在调整数组大小后保持指向动态数组的指针有效? 1 年前 |
|
|
SignalOne · 德尔福(FMX)循环参考 1 年前 |
|
|
Sascha Ott · 如何从线程调用线程的方法? 1 年前 |
|
|
user1580348 · 问题:如何在上次最小化后还原应用程序? 1 年前 |
|
tua · Delphi的TLinkLabel坏了吗? 2 年前 |
|
|
Frank.Wu · delphi:RGB到HSL不正确 2 年前 |