1

Тема: VBA, Word: Событие KeyDown

Private Sub NextN_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As fmShiftState)
   If KeyCode = vbKeyTab Then Call NextN_Click
   If KeyCode = vbKeyTab And Shift = 1 Then Call PrevN_Click   ' (NextN  - это кнопка)
End Sub

Не запускается - не понимает "...Shift As fmShiftState":
Compile error:
User-defined type not defined

Раньше у меня было написано Shift As Integer, запускалось, но по Shift+Tab не работало, только по Tab.
Галочка в References "Microsoft Forms 2.0 Object Library" стоит.

Тут написано что я вроде правильно делаю...
http://www.intuit.ru/studies/courses/112/112/lecture/3291?page=7

2

Re: VBA, Word: Событие KeyDown

Скажите, что это за тип, откуда он берётся и как его объявить. Почему он указан в приложеной ссылке, ведь у меня на другом ПК в офисе 2007 через Integer работает как оказалось. Правда не как хотел, но отвечает. Вот это:
Sub commandbutton1_keydown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
   If KeyCode = vbKeyTab Then MsgBox "test right"
   If KeyCode = vbKeyTab And Shift = 1 Then MsgBox "ответ"
End Sub
При шифт-таб оба сообщения выдаёт. Ответьте тогда вот про этот пример не привязанный к другим программным текстам, он на пустом "проекте".