Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Basic / VBA


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Гаряка Асмик
Статус: Специалист
Рейтинг: 3222
∙ повысить рейтинг »
Vasiliy83
Статус: Бакалавр
Рейтинг: 1573
∙ повысить рейтинг »
Megaloman
Статус: Профессионал
Рейтинг: 1156
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Basic/VBA

Номер выпуска:1011
Дата выхода:23.04.2010, 13:30
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:273 / 89
Вопросов / ответов:1 / 2

Вопрос № 177919: 'Уважаемые эксперты подскажите имеются рекомендации по поводу создания контестного меню 'выполняю его ничего не происходит за исключением того, что появляется какой то квадратик и вроде подвисает машина, почему??? Application.Comman...



Вопрос № 177919:

'Уважаемые эксперты подскажите имеются рекомендации по поводу создания контестного меню
'выполняю его ничего не происходит за исключением того, что появляется какой то квадратик и вроде подвисает машина, почему???

Application.CommandBars.Add "Имя контекстного меню", msoBarPopup
Application.CommandBars("Имя контекстного меню").ShowPopup

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

If 83 <> 81 Or 81 >= 80 Then
Beep
End If

Отправлен: 18.04.2010, 13:14
Вопрос задал: Ципихович Эндрю, Посетитель
Всего ответов: 2
Страница вопроса »


Отвечает Andrew Kovalchuk, 10-й класс :
Здравствуйте, Ципихович Эндрю.
© Цитата:
Чем отличаются друг от друга ?????? строки:
.Caption = "Мой пункт"
.OnAction = "МойПунктик"
Свойство Caption - возвращает или устанавливает текст контрола (объекта)
Свойство OnAction - возвращает или устанавливает имя процедуры Visual Basic, которая должна быть запущен, когда пользователь кликнет или изменит значение контрола (объекта)
© Цитата:
I f 83 <> 81 Or 81 <= 80 Then
Beep 'почему заходит в эту строку ????????????????????????????????7
End If
Все правильно. Общее значение выражения ((83 <> 81) Or (81 <= 80)) - Истина, так как 83 не равно 81.
-----
Временная неудача лучше временной удачи

Ответ отправил: Andrew Kovalchuk, 10-й класс
Ответ отправлен: 18.04.2010, 16:18
Номер ответа: 260902

Оценка ответа: 5

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 260902 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Отвечает Измалков Эдуард Леонидович, 1-й класс :
    Здравствуйте, Ципихович Эндрю.

    Чтобы добавлять пункты в уже существующее контекстное меню, нужно, во-первых, узнать его название. Для примера добавим свой пункт в контекстное меню, которое вызывается при щелчке на тексте. Оно называется "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 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.14 от 03.03.2010

    В избранное