Вопрос № 177919: 'Уважаемые эксперты подскажите имеются рекомендации по поводу создания контестного меню 'выполняю его ничего не происходит за исключением того, что появляется какой то квадратик и вроде подвисает машина, почему??? Application.Comman...
Вопрос № 177919:
'Уважаемые эксперты подскажите имеются рекомендации по поводу создания контестного меню 'выполняю его ничего не происходит за исключением того, что появляется какой то квадратик и вроде подвисает машина, почему???
With CommandBars("Имя контекстного меню") 'Установка указателя на объект добавляющий пункт меню Set mButton
= .Controls.Add(Type:=msoControlButton, ID:=850) With mButton 'задание свойств пункта меню .Caption = "Мой пункт" .OnAction = "МойПунктик" End With End With
Чем отличаются друг от друга ?????? строки: .Caption = "Мой пункт" .OnAction = "МойПунктик"
'А также подскажите: If 83 <> 81 Or 81 <= 80 Then Beep 'почему заходит в эту строку ?????????????????????
???????????7 End If
Чем отличаются друг от друга ?????? строки: .Caption = "Мой пункт" .OnAction = "МойПунктик"
Свойство Caption - возвращает или устанавливает текст контрола
(объекта) Свойство OnAction - возвращает или устанавливает имя процедуры Visual Basic, которая должна быть запущен, когда пользователь кликнет или изменит значение контрола (объекта)
Чтобы добавлять пункты в уже существующее контекстное меню, нужно, во-первых, узнать его название. Для примера добавим свой пункт в контекстное меню, которое вызывается при щелчке на тексте. Оно называется "Text". Для этого нужно в "ThisDocument" создать две процедуры.
Private Sub Document_Open() With Application.CommandBars("Text") With .Controls.Add(msoControlButton) .OnAction = "МояПроцедура"
.Caption = "Первый пункт" End With End With End Sub
Private Sub Document_Close() Application.CommandBars("Text").Controls("Первый пункт").Delete End Sub
Вторая нужна для того, чтобы при закрытии документа это меню удалить (иначе оно будет добавляться каждый раз при открытии, и их будет становится все больше и больше). Еще нужно создать обычный модуль с текстом процедуры "МояПроц
едура"
Sub МояПроцедура() MsgBox "Вроде все работает", vbOkOnly End Sub
Ответ отправил: Измалков Эдуард Леонидович, 1-й класс
Ответ отправлен: 23.04.2010, 11:36
Номер ответа: 260971
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 260971
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.