Как интегрировать / связать содержимое (переменные) модуля .bas vba в проект vba? - PullRequest
0 голосов
/ 22 ноября 2018

У нас есть 2 макроса - скажем, M1 и M2.

Макрос M1 работает правильно.

Макрос M2 не работает должным образом (нет ошибок компиляции / времени выполнения) и причина этого в том, что в этом макросе M2 отсутствует 1 файл.Скажи F1.bas.Этот файл имеет следующие.код:

Public Const REG_SZ As Long = 1

Другие файлы в макросе относятся к этому REG_SZ.На Macro M1, если я щелкну правой кнопкой мыши на REG_SZ в других файлах и нажму на Definition, то это приведет меня к файлу F1.bas в этой строке.

Однако на M2, хотя я импортировал F1.bas файл и скомпилированный код;Если я щелкну правой кнопкой мыши на REG_SZ в других файлах и нажму на Definition, то появится всплывающее окно, которое гласит: «Идентификатор под курсором не распознан».

Насколько я понимаю, любая открытая переменная в файле модулядолжен быть доступен во всем мире.Есть ли что-то, чего мне не хватает, чтобы установить ссылку, нужно ли делать что-то еще при импорте файла модуля?

1 Ответ

0 голосов
/ 22 ноября 2018

Могу ли я предложить вместо импорта F1.bas создать новый модуль рядом с M1 / ​​M2 и скопировать содержимое F1.

Мне удалось воспроизвести вашу проблему и скопировать содержимое вместо простогоКажется, импорт по-разному обрабатывается редактором.Что касается причин, по которым ... я не могу помочь.

Дальнейшее тестирование показывает, что комментируя вашу переменную Public Const REG_SZ As Long = 1 и раскомментируя ее, вынуждает редактор снова ее распознать (из импортированного файла).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...