Я создал Word 2010 VBA Macro Sub с помощью UserForm. Sub выполняет поиск == Codes == в документе формы, помещает найденный == code == в качестве метки в пользовательскую форму, а затем позволяет пользователю заменить == code == своим вводом в поле со списком ( часть той же UserForm).
Каждая строка введенных данных затем сохраняется в списке Combobox в пользовательской форме для последующего выбора при необходимости.
Это отлично работает до тех пор, пока этот макрос / пользовательская форма не истечет, потому что искомый документ завершен (или отменен).
Затем я хотел бы открыть следующий документ формы, и при новом запуске этого же макроса / подпрограммы сохранить прежний список данных со списком (в качестве вариантов для заполнения этого следующего открытого документа - например, код == Имя клиента == будет часто появляться, и я бы предпочел выбрать запись в списке со списком, а не вводить имя клиента снова и снова)
Но я не могу сохранить список combobox при новом запуске этого Macro Sub, заполненный предыдущими данными combobox, даже если я выделю эту процедуру как отдельный модуль и предварительно определю переменные с «общедоступными» измерениями.
Итак, прежде чем я вырублю себя, пытаясь понять это ... просто вопрос:
Когда макрос завершается, все ли общедоступные переменные "отбрасываются"? Когда я программировал макросы в DOS WP.51, вы могли бесконечно хранить строки данных в ОЗУ (пока вы их не «убили» или не закрыли WP).
Если общедоступные переменные не «отбрасываются», может ли кто-нибудь дать мне образец кода, с помощью которого общедоступные переменные могут быть сохранены и заполнены в дублирующе запущенной пользовательской форме поля со списком.
Любые идеи, какими бы краткими они ни были, помогут
Заранее большое спасибо. . .
Майк
UserForm
макрос, сохраненный вNormal
шаблоне? а затем, когда вы открываете следующий документ формы, вы бы закрыли Word, а затем открыли его снова? - person Jean-Pierre Oosthuizen   schedule 19.01.2016