gpt4 book ai didi

vba - 关闭 Shell.Application 实例

转载 作者:行者123 更新时间:2023-12-05 07:07:43 26 4
gpt4 key购买 nike

我正在编写一个脚本,通过基于 this SO answer 的 Windows shell 使用默认程序打开文档:

Dim Shex As Object
Set Shex = CreateObject("Shell.Application")
tgtfile = "C:\Nax\dud.txt"
Shex.Open (tgtfile)

我注意到 Shell.Application 的实例永远不会关闭。在我的代码中,我Set Shex = Nothing,但这就够了吗?例如,如果我创建一个 Word 或 Outlook 实例,我需要在将变量设置为空之前用 .Quit 关闭它。这里没有明显类似的事情发生。

我设置了对 Microsoft Shell Controls and Automation 的引用以探索 Shell 对象,但找不到 .Application 的任何方法> 或 .Parent 属性,更不用说看起来像 .Quit 的属性了。

我是否遗漏了一些明显的东西?垃圾收集器是否也以某种方式摆脱了实例?它是特定于 shell 对象本身的东西吗?

最佳答案

仔细想想,我很确定@jamheadart 是对的,我只是在实例化一个 VBA 类,而不是在 Windows 中创建一个应用程序类。

不过,可以肯定的是,我采纳了@Mert Y 的建议,即使用上下文管理器来限制范围。

最终代码:

With CreateObject("Shell.Application")
.Open (strPath)
End With

关于vba - 关闭 Shell.Application 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62036048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com