Я уверен, что есть разные способы сформулировать этот вопрос, но это конечный результат, которого я хочу достичь.
Итак, у меня есть установка, в которой код написан на C# и добавлен как функции в Excel. Он зависит от наличия определенного файла .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"
, то ссылка будет отмечена галочкой, если она не была отмечена (это не заставляет работать внешние формулы), или ошибка, что ссылка с таким именем уже существует , если он был отмечен.