Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / имитация нажатия на форме экселя / 12 сообщений из 12, страница 1 из 1
18.02.2015, 12:03
    #38882694
занудка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
7, 2007
в книге есть форма, на ней кнопки, списки, List/ComboBox и т.д.....
Проблема:
хочу написать тест проверки, для этого в коде надо прописать имитацию:
нажатия кнопки

выделение строк в ListBox(приход)....
Код: vbnet
1.
2.
приход.Selected(10)   ' задаю выделенную строку
Run "приход_DblClick" ' запускаю макрос 


не получается...
Исправьте, плз, или подскажите
Спасибо
...
Рейтинг: 0 / 0
18.02.2015, 14:38
    #38882913
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
1. У формы ShowModal=False
2. В коде формы у нужных процедур изменить Private Sub ... на Public Sub ...
3. При наборе имени процедуры с точкой эти паблики появятся в выпадающем списке как методы -> MyForm.приход_DblClick
...
Рейтинг: 0 / 0
18.02.2015, 15:53
    #38883031
занудка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
Казанский,

Спасибо, но форма должна оставаться модальной - с нее и запуск теста
MyForm.приход_DblClick пробовал - не проходит
А за паблик - лтдельное спасибо, забыл - уже когда-то нгаступал на эти грабли
исчо раз спасибо
...
Рейтинг: 0 / 0
20.02.2015, 11:36
    #38884801
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
так и получается.....
Кто подскажет - как используются параметры ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

Мне нужно обратиться к нажатию в Form1.ListBox1_DblClick(????? ?????? ....????) но какие параметры надо ввести - не понимаю....
подскажите, плз.
Спасибо
...
Рейтинг: 0 / 0
20.02.2015, 15:11
    #38885111
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
Stepler,

Никакие не надо и никакие нельзя. Эти параметры передаются формой в событие и не допускается передача своих параметров.
...
Рейтинг: 0 / 0
20.02.2015, 15:12
    #38885113
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
The_Prist,

А сам параметр Cancel отвечает за действие ОТМЕНЫ события.
...
Рейтинг: 0 / 0
21.02.2015, 01:22
    #38885513
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
Код: vbnet
1.
2.
  Dim x As MSForms.ReturnBoolean
  Call Form1.ListBox1_DblClick(x)
...
Рейтинг: 0 / 0
21.02.2015, 09:50
    #38885568
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
Необязательно.
Можно передать, например, 0, если проверка проводиться не будет.
А можно в объявлении указать Optional и вообще ничего не передавать.
...
Рейтинг: 0 / 0
21.02.2015, 12:12
    #38885589
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
Alibek B.Необязательно.
Можно передать, например, 0, если проверка проводиться не будет.
А можно в объявлении указать Optional и вообще ничего не передавать.
Нет. Проверьте сами
...
Рейтинг: 0 / 0
21.02.2015, 12:32
    #38885595
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
Давно не программировал, а проверять не на чем.
Однако не вижу причины, почему не будет работать.
При написании классов или ActiveX я в подобных событиях всегда объявлял Optional Cancel As Boolean = False и это прекрасно работало.
В декларации события указано ByVal, поэтому передавать можно любой тип данных, хоть Null.
Ну а Optional структуру декларации не меняет, внутри процедуры вообще не имеет значения, аргумент был Optional или нет.
...
Рейтинг: 0 / 0
22.02.2015, 12:03
    #38885897
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
Alibek B.Однако не вижу причины, почему не будет работатьПотому что данные события на форме можно сказать зарезервированы и не подлежат изменению. Это внутри своих собственных процедур Вы можете добавлять и изменять аргументы - здесь так не получится. Можете передать аргумент строго типизированный, что в большинстве случаев не надо - проще прямо внутри процедуры сделать все нужные обработки(по количеству кода будет столько же).
Alibek B.В декларации события указано ByValByVal не разрешает передать любой тип данных. Он лишь указывает будет ли создан новый экземпляр в памяти или же обращение будет идти к первоначально созданному. Он позволит, если изначально процедура принимает параметр As Variant. А т.к. там уже строго указан тип данных - то при попытке передачи параметра с иным типом данных получите ошибку.

Вы все же сначала попробуйте свои советы на практике...Людей же в заблуждение вводите - будут сейчас тыркаться и получать ошибки.
...
Рейтинг: 0 / 0
22.02.2015, 14:50
    #38885961
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
имитация нажатия на форме экселя
The_PristПотому что данные события на форме можно сказать зарезервированы и не подлежат изменению.
Действительно.
Видимо память подводит и я перепутал с самописными компонентами.

The_PristByVal не разрешает передать любой тип данных. Он лишь указывает будет ли создан новый экземпляр в памяти или же обращение будет идти к первоначально созданному
ByVal или ByRef означает, будет ли передаваться аргумент по значению или по ссылке.
Для скаляров передача по значению одновременно осуществляет приведение типов (если оно возможно).
MSForms.ReturnBoolean, как оказалось, является объектом (Class), а не перечислением (Enum), поэтому мой совет действительно невыполним.

The_Pristбудут сейчас тыркаться и получать ошибки.
Это не всегда плохо.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / имитация нажатия на форме экселя / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]