Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
3 / 3 / 0
Регистрация: 29.10.2010
Сообщений: 54
1

Функция обработки события

23.05.2011, 15:26. Показов 1676. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Коллеги,

Положим, в проекте есть форма с текстовым полем и мне необходимо передавать обработчику события change какие-либо данные, например, двумерный массив. Как это сделать? Только использованием глобальных переменных? Можно ли обработчику события change определить дополнительные параметры и передать как аргумет подпроцедуры/функции?

С уважением
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2011, 15:26
Ответы с готовыми решениями:

Есть ли метод обработки события при переключении в СТРАНИЧНЫЙ РЕЖИМ
Господа, существует ли метод на переключение ВИД -> СТРАНИЧНЫЙ РЕЖИМ и обратно в ОБЫЧНЫЙ???

При минимизации окна Excel процедуры обработки события не работают
Sub my Dim App As Object Application.EnableEvents = True Set App = GetObject(,...

Как вернуться в тело основной программы после обработки события формы?
Основная программа доходит до оператора показа формы. Пусть он называется ОПЕРАТОР-1. За ним...

Создание кода для обработки события на листе, которого ещё нет
Интересная задача возникла: Добавляется лист, формируется таблица, теперь на этом листе нужно...

5
245 / 55 / 6
Регистрация: 05.08.2010
Сообщений: 222
23.05.2011, 16:10 2
А как ты собираешься что-то передавать, когда событие произойдет? Откуда этот массив вылезет. Когда обработчик сам срабатывает, он ниоткуда не сможет взять переменных. А если тебе нужно обработчик запускать руками, то тогда напиши просто процедуру свою.
0
 Аватар для mc-black
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
23.05.2011, 16:22 3
Нет, просто он может вызвать из обработчика свою процедуру, которой будет переданы все параметры обработчика (если надо) плюс свои дополнительные параметры. Массиы вроде можно передавать в параметрах, правда только ByRef - по ссылке то бишь.
0
245 / 55 / 6
Регистрация: 05.08.2010
Сообщений: 222
23.05.2011, 16:28 4
Ну дык а откуда обработчик данные сможет взять? только глобальные данные. Можно и без процедуры также их использовать из обработчика.
0
 Аватар для mc-black
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
23.05.2011, 16:41 5
Сам обработчик события - он ничего не знает кроме события с его параметрами - вызывает процедуру обработки события пользователем. Вот тут-то пользователь (программист VBA в данном контексте) достает откуда-то нужный массив, а как он его получит, скажем вызовет свою же процедуру с параметром ByRef или сгенерит матрицу на ходу - нас с тобой это пока не должно волновать - все равно.

Кстати, со всеми этими наворотами мне представляется хорошей идеей использовать глобальный динамический массив. Глобальный динамический массив получает свою размерность где-то в одной из процедур, а по окончании работы с ним его размер можно установить в 1 элемент одномерного массива. При этом занятая им память должна по идее освободиться. Пусть вам не чудится в глобальных переменных вселенское зло. Главное - помните и чтите Option Explicit!)))
1
245 / 55 / 6
Регистрация: 05.08.2010
Сообщений: 222
23.05.2011, 16:45 6
=) чтим, а как же =) Вообще я вместо глобальных переменнах предпочитаю использовать данные на листе экселя, если в ексельном вба. может не супер быстродейственно, зато понятно и практично.
1
23.05.2011, 16:45
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.05.2011, 16:45
Помогаю со студенческими работами здесь

Возможна ли единая процедура обработки события для динамических элементов юзер-формы?
Приветствую. Дано: юзер-форма office-VBA. На ней создаются динамические элементы (например...

Не работает функция обработки события
Здравствуйте Уважаемые Форумчане помогите разобраться с проблемой (2 день бьюсь) не могу...

Процедуры обработки события
Всем Здравия во все органы. Подскажите пожалуйста мне не совершенному и любителю в...

Игнорирование обработки события
Помогите пожалуйста новичку. Можно ли в коде по нажатию кнопки написать код игнорирования события...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
Как сделать UPDATE из SELECT в SQL Server
hw_wired 24.01.2025
В современных системах управления базами данных операции обновления и выборки данных являются фундаментальными инструментами для работы с информацией. SQL Server предоставляет мощные команды UPDATE и. . .
Как вставить элемент в массив на указанный индекс в JavaScript
hw_wired 24.01.2025
Массивы являются одной из фундаментальных структур данных в JavaScript, предоставляющей разработчикам мощный инструмент для хранения и управления упорядоченными наборами данных. Они позволяют хранить. . .
Чем отличаются HashMap и Hashtable в Java
hw_wired 24.01.2025
В мире разработки на Java существует множество инструментов для работы с коллекциями данных, и среди них особое место занимают структуры данных для хранения пар ключ-значение. HashMap и Hashtable. . .
Как конвертировать видео в GIF
hw_wired 24.01.2025
В современном мире анимированные изображения стали неотъемлемой частью цифровой коммуникации. Формат GIF (Graphics Interchange Format) представляет собой особый тип файлов, который позволяет. . .
Как скопировать текст в буфер обмена на JavaScript во всех браузерах
hw_wired 24.01.2025
Копирование текста в буфер обмена стало неотъемлемой частью современных веб-приложений, значительно улучшающей пользовательский опыт и упрощающей работу с контентом. В эпоху активного обмена. . .
Как скрыть клавиатуру на Android
hw_wired 24.01.2025
При разработке Android-приложений часто возникает необходимость управлять видимостью экранной клавиатуры для улучшения пользовательского опыта. Одним из наиболее эффективных способов контроля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru