Я работаю над приложением макросов Word VBA для 80 или около того пользователей. В офисе высокая текучесть кадров, поэтому обучение страдает, и поэтому одним из добровольных требований для этого проекта является всеобъемлющая, дружественная документация. Однако в дополнение к этому и для того, чтобы новичкам не приходилось открывать 100-страничный документ, когда они хотят попробовать что-то новое, мне нужна строка состояния для каждой пользовательской формы (их пять), которая предоставляет контекстную помощь. Я нахожу всплывающие подсказки.
У меня нет большого опыта, поэтому я хотел
По сути, у меня есть файл, содержащий каждую строку статуса. (В настоящее время это текстовый файл, но мне было интересно, стоит ли мне использовать электронную таблицу или csv для удобства редактирования другими сотрудниками в будущем.) Каждый элемент управления имеет событие MouseMove, которое ссылается на функцию: getStatus (cID), которая открывает файл, захватывает строку и отображает ее в метке состояния. Он также получает несколько параметров из одной и той же строки в файле, например, можно ли щелкнуть метку (для ссылки на страницу в файле справки) и какого цвета должна быть метка.
Итак, несколько вопросов на самом деле:
Будет ли приложение работать медленно, если пользовательская форма постоянно ссылается на файл? Мне это нравится, но я был там слишком долго, и я единственный пользователь, который обращается к этому файлу. У него будет 80 постоянных обращений.
Является ли MouseMove над элементом управления лучшим способом? Должен ли я вместо этого использовать координаты?
Самое главное (с точки зрения того, что мне нужно выполнять как можно меньше работы), есть ли какой-нибудь способ сделать это, чтобы мне не приходилось иметь событие MouseMove на каждом элементе управления? У меня есть несколько сотен или около того элементов управления, каждый со своим идентификатором (ну, пока нет, но они будут, если это единственный способ сделать это). Может быть, когда форма загружается, я мог бы загрузить ВСЕ возможные строки состояния, чтобы они были готовы к любой ситуации, когда элемент управления наведен. Но тогда, может быть, время загрузки ничтожно мало?
Цените любые идеи или мысли - особенно если VBA уже имеет целый ряд функций для этого, и я просто пытаюсь заново изобрести колесо. Я не могу использовать строку состояния приложения, потому что пользователь редко видит само приложение.
Спасибо!
РЕДАКТИРОВАТЬ:
Это как для ввода данных, кликов и немного генерации документов.
Это контролируемая среда, поэтому вопросы безопасности макросов меня не беспокоят, и если что-то пойдет не так, то это чья-то вина или проблема:)