Excel VBA Добавить справочную библиотеку без закрытия графического интерфейса пользователя
У меня есть сценарий (см. Ниже), который загружает справочную библиотеку, а затем представляет пользователю графический интерфейс (Userform). Проблема в том, что после загрузки библиотеки он завершает скрипт. Не сразу после команды (например, при сбое), а после ее завершения. В этом случае это означает, что графический интерфейс не отображается; однако при повторном запуске сценария (когда ему не нужно загружать справочную библиотеку, потому что она уже загружена) графический интерфейс отображается нормально.
Я не хочу вручную запускать этот сценарий дважды каждый раз, когда я его использую, кроме того, я не могу настроить свою систему на запоминание этой справочной библиотеки, есть много компьютеров, на которых выполняется этот сценарий.
Есть ли способ:
подавление этого поведения завершения скрипта при загрузке библиотеки
заставляет скрипт автоматически вызывать себя снова после того, как он завершит выполнение один раз
Sub AddReference() 'Add a reference library to the project using the GUID Dim strGUID As String, theRef As Variant, i As Long On Error Resume Next strGUID = "{0002E157-0000-0000-C000-000000000046}" 'GUID for VBA Extensibility 5.3 'Remove any missing references For i = ThisWorkbook.VBProject.References.Count To 1 Step -1 Set theRef = ThisWorkbook.VBProject.References.Item(i) If theRef.isbroken = True Then ThisWorkbook.VBProject.References.Remove theRef End If Next i Err.Clear 'ThisWorkbook.VBProject.References.AddFromGuid GUID:=strGUID, Major:=1, Minor:=0 ThisWorkbook.VBProject.References.AddFromFile "C:\Program Files\Common Files\microsoft shared\VBA\VBA6\VBE6EXT.OLB" Select Case Err.Number Case Is = 32813 'Reference already in use Case Is = vbNullString 'Reference added without issue Case Else 'An unknown error was encountered, so alert the user MsgBox "A problem occurred while loading the reference library!" End End Select On Error GoTo 0 MyGUI.Show End Sub