Я относительный новичок в VBA и занимаюсь разработкой довольно сложного макроса, который может работать от 10 секунд до 10 минут, который выполняет большую часть своей работы в другом невидимом экземпляре Excel, созданном Dim appDatabaseInstance = New Excel.Application
.Есть целый ряд функций и подпрограмм, которые используются в ходе выполнения кода, и хотя я приложил все усилия, чтобы гарантировать, что appDatabaseInstance.Quit
вызывается всякий раз, когда что-то не так предсказуемо, есть одна вещь, которую я не могу контролировать- пользователь.
В частности, если пользователь решит, что программа завершилась сбоем и удерживает escape, VBA прервет выполнение, и из-за того, как произошел разрыв, ни одна из моих процедур сборки мусора (я думаю) не завершится.происходит.
Таким образом, я был бы намного счастливее, если бы мог как-то назвать экземпляр, который я создаю, предсказуемым образом, а затем попытался бы, прежде чем создать новый, найти существующий и разобраться с ним.это соответственно.Таким образом, даже если неудачный экземпляр приложения останется открытым, он закроется, как только пользователь попробует что-нибудь еще, связанное с программой (а если нет, то один экземпляр вряд ли вызовет слишком много головных болей в контексте).
У кого-нибудь есть предложения?