Требуется хранить где-нибудь в проекте VBA текстовые массивы (список ПЭВМ, перечень текстовых фильтров и т.д.)
Всегда хранил такие массивы непосредственно в коде программ. Вот захотелось усовершенствовать это дело.
Думаю использовать для таких исходных данных отдельный модуль (Mod_Info), чтобы при изменении этих данных уже прямо "идти" в него и только в нем править.
Возможно, имеет смысл сделать некоторый конфигуратор таких массивов, например, с помощью дополнительной формы?
Какие могут быть ещё варианты хранения массивов в проекте VBA?
VBA. Хранение массивов в проекте VBA
Модератор: Naeel Maqsudov
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Avsha, если есть программный доступ к коду проекта в некоторых случаях
удобнее хранить большие текстовые массивы как строки комментариев в одноимённых с массивом модулях.
Вариант - внедрённый в офисный документ ini (xml) файл.
Но это всё актуально когда массивы действительно большие и их удобно править текстовым редактором или макросом через VBE.
Кстати, полезно помнить, что VBE поддерживает до 1024 символов в строке...
В последнее время храню все настройки для VB/VBA проектов в базе SQLITE.
Правда, это влечёт за собой одну (нерегистрируемую) DLL в каталоге макроса и файл
с базой в нём же. Зато нормальная база, отвязанная от всего. Опять же, SELECT сделать можно
Дальнейшие спекуляции на тему зависят от сути Ваших задач (проблем)
удобнее хранить большие текстовые массивы как строки комментариев в одноимённых с массивом модулях.
Вариант - внедрённый в офисный документ ini (xml) файл.
Но это всё актуально когда массивы действительно большие и их удобно править текстовым редактором или макросом через VBE.
Кстати, полезно помнить, что VBE поддерживает до 1024 символов в строке...
В последнее время храню все настройки для VB/VBA проектов в базе SQLITE.
Правда, это влечёт за собой одну (нерегистрируемую) DLL в каталоге макроса и файл
с базой в нём же. Зато нормальная база, отвязанная от всего. Опять же, SELECT сделать можно

Дальнейшие спекуляции на тему зависят от сути Ваших задач (проблем)

Aent, спасибо за советы
Они меняются нечасто, но при изменении желательно идти в одно место, если в коде VBA.
Наверно мне незачем их писать в комментарии, просто явным присвоением наверно введу.
Ведь оперативность изменений - мгновенная и гибкая.
Отсюда вопросы:
1. Есть ли какой стандартый (классический) формат у таких ini/xml-файлов, чтобы хранить текстовые массивы?
2. Внедрять в офисный документ, это как?
Массивы небольшие по 10-20 элементов, всего штук 5-6 массивов.большие текстовые массивы как строки комментариев в одноимённых с массивом модулях
Они меняются нечасто, но при изменении желательно идти в одно место, если в коде VBA.
Наверно мне незачем их писать в комментарии, просто явным присвоением наверно введу.
Про него я думал, но я умею только отдельный, лежащий неподалеку на диске.Вариант - внедрённый в офисный документ ini (xml) файл.
Ведь оперативность изменений - мгновенная и гибкая.
Отсюда вопросы:
1. Есть ли какой стандартый (классический) формат у таких ini/xml-файлов, чтобы хранить текстовые массивы?
2. Внедрять в офисный документ, это как?
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
" писал(а): 1. Есть ли какой стандартый (классический) формат у таких ini/xml-файлов, чтобы хранить текстовые массивы?
2. Внедрять в офисный документ, это как?
1. Нет
2. Я имел в виду ведрение через OleObjects. Но для небольших массивов это не имеет смысла.
А почему бы вам не хранить данные в самом офисном документе ?
В листе Excel или в переменных (Variables) Word.
Можно так же использовать пользовательские Property документа.
Принял для себя решение хранить в отдельном ini-файле, формат его придумаю, выложу на обсуждение...
Потому что удобнее и оперативнее изменять исходные данные и не надо будет сохранять сам проект.
Можно будет скомпилировать потом форму при желании в самостоятельный EXE-шник.

Потому что удобнее и оперативнее изменять исходные данные и не надо будет сохранять сам проект.
Можно будет скомпилировать потом форму при желании в самостоятельный EXE-шник.
Я делаю форму для другого приложения с VBA, а там подходящих объектов нет и они не удобныА почему бы вам не хранить данные в самом офисном документе ?
В листе Excel или в переменных (Variables) Word.

хранить в отдельном ini-файле, формат его придумаю, выложу на обсуждение...
Код: Выделить всё
# это комментарий - удобно выводить из работы но не удалять значения
[Nodes]
Node_01
Node_02
Node_03
#Node_04
Node_05
Node_06
[Nodes_End]
[Filters]
расчет
задание
ввод
ошибка
тревога
график
[Filters_End]
[Users]
Gosha
Misha
Lena
Vanja
[Users_End]
....