Как изменить свойство «полный путь» References в VBA (Инструменты -> Ссылки)? - PullRequest
1 голос
/ 17 января 2020

Я уверен, что есть разные способы сформулировать этот вопрос, но это конечный результат, которого я хочу достичь.

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

...