关闭Shell.Application实例

资料库

我正在根据此SO答案编写脚本以使用默认程序通过Windows Shell打开文档

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

我注意到Shell.Application永不关闭的实例在我的代码中,I 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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章