CommandBars & SendKeys

Программирование на Visual Basic for Applications
Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

CommandBars & SendKeys

Сообщение Calvin » 06.10.2006 (Пт) 15:25

Здраствуйте уважаемые!!!
Помогите плиз. Хочу вот что
Код: Выделить всё
Application.CommandBars.ActiveMenuBar.Controls("&Файл").Controls("&Печать...").Execute
SendKeys "{ENTER}
"

Но когда всплывает диалоговое окно печати, то SendKeys не работает
Можно ли отображать окно в модальном режиме? Или как это победить?
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.10.2006 (Пт) 20:44

А зачем ты вообще делаешь всё так?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сообщение Calvin » 09.10.2006 (Пн) 9:48

Если честно, то я пытаюсь победить глюк экселя. А связан он с тем, что когда я пытаюсь указывать параметры списка:
Код: Выделить всё
Range("a1").Validation.add Formula1:="aaa;bbb;ccc"

и если это делать программно, то "aaa;bbb;ccc" будет выводиться в списке в виде одной строки, а если потом зайти через меню Данные --> Проверка и не вводя параметров заново, просто нажать ОК, то после этого список будет в три строки 1 - "aaa", 2 - "bbb", 3 - "ссс". Я кстати выкупил, как сделать то, что я спрашивал выше:
Код: Выделить всё
SendKeys "{ENTER}"
Application.Dialogs.Item(xlDialogDataValidation).Show

Но все равно это коряво, может кто знает, как этот глюк исправить?
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.10.2006 (Пн) 14:12

Это не глюк.
Это непонимание, с твоей стороны, того факта, что в пользовательском интерфейсе разделитель текущий национальный, а в коде должен быть локаленезависимый английский, то есть запятая.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList