Папка пользователя VBA Справочное расположение (для xlwings) - PullRequest
1 голос
/ 31 января 2020

У меня есть электронная таблица с поддержкой макросов, которая использует функцию RunPython xlwings.

Sub button()
    RunPython ("from blah.blah.file import fuction; function()")
End Sub

Если I go до Tools->References в Excel VBA, я могу включить ссылку xlwings и запустить эту кнопку, но ссылка установлена ​​в расположении:

C:\Users\[MY_USERNAME]\AppData\Roaming\Microsoft\Excel\XLSTART

, поэтому, если Я передаю лист своему коллеге, у которого другое имя пользователя (вместо MY_USERNAME). Excel не может найти ссылку на xlwings, даже если на них установлена ​​программа xlwings.

Существует ли способ общей ссылки на пользователя папка? или, может быть, просто лучший способ установить ссылку на xlwings?

1 Ответ

0 голосов
/ 31 января 2020

Если вы просто хотите найти имя пользователя, которое используется для этого пути, вы можете использовать (Environ$("Username"))

Таким образом, ваш путь будет "C:\Users\" & (Environ$("Username")) & "\AppData\Roaming\Microsoft\Excel\XLSTART"

Если вы хотите добавить ссылки из Tools -> Reference программно здесь псевдокод.

1. Loop through your Reference objects to see if it currently exists in your project. 2. If not, add the Reference by Name, GUID, or Path.

Я предпочитаю использовать GUID, потому что он не меняется на разных компьютерах.

Это не будет решить проблему, если библиотека / ссылка еще не установлена ​​на их компьютере. Попытка установить файл Excel для установки библиотеки / справки была бы гораздо большим проектом.

Если вам нужна дополнительная помощь, пожалуйста, дайте мне знать, но сначала сделайте попытку, запрограммировав ее, а затем мы поможем вам пройтись. через это.

...