Я уверен, что есть разные способы сформулировать этот вопрос, но это конечный результат, которого я хочу достичь.
Итак, у меня есть настройка, где код написан на C# и добавлены в качестве функций в Excel. Он полагается на наличие указанного c .tlb файла в Tools-> References, который можно найти в окне VBA.
Пока я тестировал этот файл, файл .tlb (и остальные) был на моем локальном диске, но теперь, когда проект работает, мне нужно перенести его на сетевой диск. Проблема в том, что я не могу найти способ изменить фактический файл (или путь к файлу), на который ссылается - он всегда смотрит на мой локальный путь.
Я пробовал несколько вещей:
Выполнил шаги, перечисленные здесь https://support.microsoft.com/en-us/help/308340/how-to-check-and-remove-incorrect-project-references-in-the-visual-bas
Попробовал несколько кодов VBA, используя выражение .References.Remove
. Это на самом деле не удаляет ссылку из списка, а только снимает ее.
Я пытался удалить файл с локального диска (из-за ошибки Excel, что ссылка была перемещена, удалена или переименована - хорошо), а затем добавить ссылку из нового местоположения, которое я хочу. Это привело к одной из двух вещей:
1) Если я пытаюсь добавить его вручную - ничего не происходит, существующая ссылка остается не отмеченной, и ничего нового не добавляется (что я знаю).
2) Если я пытаюсь сделать это с помощью выражения .References.AddFromFile "filepath"
, он помечает ссылку, если она не отмечена (это делает не заставляет работать внешние формулы), или ошибка, что ссылка с таким именем уже существует, если он был отмечен.