Мне нравится использовать раннее связывание в моих проектах VBA, так как мне нравится автозаполнение имен методов и т.д. во время разработки. Мне также нравится уверенность в том, что компилятор предупредит меня, если я неправильно назвал имя метода.
Однако для использования раннего связывания мне нужно добавить ссылку на соответствующую библиотеку (например, "Microsoft Scripting Runtime" ). Это отлично подходит для "стандартных" библиотек, но иногда я хочу использовать библиотеку, которая может или не может присутствовать на пользовательской машине.
В идеале, я хочу отобразить полезное сообщение, если библиотека отсутствует (например, "xyz" не установлен на этом компьютере, и поэтому эта функция не может быть использована "). Если бы я использовал только последнее связывание, тогда я мог бы это сделать:
Dim o As Object
Set o = CreateObject("foo", "bar")
If o Is Nothing Then
MsgBox "nope"
End If
Но если я добавил ссылку на библиотеку, чтобы использовать раннее связывание, то, если библиотека отсутствует, я получаю ошибку компиляции при загрузке моего проекта VBA. Таким образом, ни один из кода не работает (включая код для обнаружения несуществующей библиотеки).
Есть ли какой-либо путь вокруг этого catch-22?