首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关闭Shell.Application实例

关闭Shell.Application实例
EN

Stack Overflow用户
提问于 2020-05-27 05:29:27
回答 1查看 1K关注 0票数 3

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

代码语言:javascript
复制
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对象本身的东西吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-27 07:51:37

考虑到这一点,我确信@jamheadart是对的,我只是在运行一个VBA类,而不是在Windows中创建一个应用程序类。

当然,我接受@Mert Y的建议,使用上下文管理器来限制范围。

最终代码:

代码语言:javascript
复制
With CreateObject("Shell.Application")
    .Open (strPath)
End With
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62036048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档