Я пишу сценарий для открытия документов с помощью программы по умолчанию через оболочку Windows на основе этого ответа SO :
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
.
Я упустил что-то очевидное? Сборщик мусора как-то тоже избавляется от экземпляра? Это что-то особенное c для самого объекта оболочки?