Тема: Как из VBA определить факт нажатия клавиши "Esc"?

Требуется решить следющую задачу:
1. Нажимаем кнопку на Форме
2. Форма скрывается
3. Производим некоторые действия средствами ACAD
4. По нажатию клавиши "Esc" (или другой какой либо)   скрытая Форма должна появиться
Как это можно реализовать средствами VBA ?

Re: Как из VBA определить факт нажатия клавиши "Esc"?

[rus]Ja tozhe sprashival , i dovolno davno,
no otveta tak i ne poluchil...
Vidimo, eto nevozmozhno v principe...[/rus]

Re: Как из VBA определить факт нажатия клавиши "Esc"?

В принципе - возможно. Но надо обращаться к операционной системе используя API-функции. Однако, как это сделать практически, я пока не готов ответить. К сожалению.Если есть настроение, покопайте в этом направлении...

Re: Как из VBA определить факт нажатия клавиши "Esc"?

> aw55
пишешь в лисп фаиле :(

(defun c:MyFLoad () 'Читает и запускает первый раз
    (vl-load-com)
    (vl-vbaload "M:/*/*.dvb")
    (vl-vbarun "StartMyForm")
    (princ)
)
(defun c:MyF ( / ent ss ed )запускает второй раз
    (vl-vbarun "StartMyForm")
)

пишешь в VBA в отдельном модуле

sub StartMyForm ()
  UserForm1.show
end sub

Re: Как из VBA определить факт нажатия клавиши "Esc"?

Интересно бы все таки на клавишу Esc настроить...

Re: Как из VBA определить факт нажатия клавиши "Esc"?

http://www.cad.dp.ua/stats/a_vba/conten … ncKeyState

Re: Как из VBA определить факт нажатия клавиши "Esc"?

Да не надо к API обращаться. Посмотрите стандартные примеры. Там есть как обрабатывать события.

Re: Как из VBA определить факт нажатия клавиши "Esc"?

Да, действительно, в задаче фигурирует скрытая форма, события которой можно использовать.Это я недосмотрел и пытался решить задачу без формы н ее событий. Ну что ж, может кому и пригодится моя ссылка.