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

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


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

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

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

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

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

Номер выпуска:1024
Дата выхода:21.05.2010, 21:30
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:234 / 84
Вопросов / ответов:2 / 2

Вопрос № 178428: Уважаемые эксперты подскажите по скрипту If MsgBox("Если ... нажмите Да" & Chr$(13) & "Если ... нажмите Нет", vbYesNo + vbDefaultButton1, "ВНИМАНИЕ") = vbYes Then 'vbDefaultButton1 означает, что фокус должен быть ...


Вопрос № 178430: 'Уважаемые эксперты ранее я задавал вопрос: 'Как создать массив имени всех закладок документа по положению их в документе, но чтобы в этот массив попали только закладки, имеющие первую букву своего имени «Ч» 'и получил ответ, те...

Вопрос № 178428:

Уважаемые эксперты подскажите по скрипту
If MsgBox("Если ... нажмите Да" & Chr$(13) & "Если ... нажмите Нет", vbYesNo + vbDefaultButton1, "ВНИМАНИЕ") = vbYes Then 'vbDefaultButton1 означает, что фокус должен быть на 1 кнопке MsgBox, можно это условие не ставить, по умолчанию фокус будет на 1 кнопке MsgBox
Beep 'если пользователь нажал да
Else
Beep 'если пользователь нажал нет
End If
Почему то у меня на сообщении крест в углу формы сообщения становится недоступным, это как то устанавливается?
Можно ли сделать, чтобы ни на одной кнопке не было фокуса?
Спасибо Эндрю

Отправлен: 16.05.2010, 15:16
Вопрос задал: Ципихович Эндрю, Посетитель
Всего ответов: 1
Страница вопроса »


Отвечает Измалков Эдуард Леонидович, 10-й класс :
Здравствуйте, Ципихович Эндрю!
константа vbYesNo подразумевает, что обязательно должен быть какой-либо ответ, поэтому крестик для закрытия окна недоступен. Если Вы хотите дать пользователю шанс закрыть это окно, то используйте vbYesNoCancel.
Если какое-либо окно активно, то фокус обязательно должен быть на одном из элементов этого окна. MsgBox устроен так, что фокус у него всегда на какой-либо кнопке, первой по умолчанию, либо на другой, указанной
пользователем. Для того, чтобы фокус был не на кнопке можно создать свою форму, выполняющую те же функции, но с фокусом не на кнопке.

Ответ отправил: Измалков Эдуард Леонидович, 10-й класс
Ответ отправлен: 16.05.2010, 16:36
Номер ответа: 261430

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

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

  • Вопрос № 178430:


    'Уважаемые эксперты ранее я задавал вопрос:
    'Как создать массив имени всех закладок документа по положению их в документе, но чтобы в этот массив попали только закладки, имеющие первую букву своего имени «Ч»
    'и получил ответ, тестировал его вроде всё работало, сейчас возникли вопросы, они по тексту

    i = 0
    Dim w As Object 'какова цель этой строки??, без неё нельзя??? более по тексту я не встречаю w???
    For Each b In ActiveDocument.Bookmarks
    If (Left(b.Name, 1) = "Ч") Then
    ReDim Preserve a(i) 'Здесь я получаю Variable not defined, почему??? что не так???
    a(i) = b.Name
    i = i + 1
    End If
    Next b
    'Спасибо Эндрю

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


    Отвечает Измалков Эдуард Леонидович, 10-й класс :
    Здравствуйте, Ципихович Эндрю.
    © Цитата:
    Dim w As Object 'какова цель этой строки??, без неё нельзя??? более по тексту я не встречаю w???

    если здесь приведен весь код, то можно ее удалить. Насколько я догадываюсь, вместо нее должно было быть Dim b As Object
    © Цитата:
    ReDim Preserve a(i) 'Здесь я получаю Variable not defined, почему??? что не так???

    Вы пытаетесь изменить размер несуществующ его массива. Вам необходимо в начале текста объявить этот массив c помощью строки Dim a().
    В итоге дожно получиться вот что:
    Код:
    i = 0
    Dim a() As String ' массив для сохранения названий всех закладок
    Dim b As Object ' переменная, в которой будут сохраняться все закладки документа
    For Each b In ActiveDocument.Bookmarks ' цикл, перебирающий все закладки в документе
    If (Left(b.Name, 1) = "Ч") Then ' если имя закладки начинается на "Ч"
    ReDim Preserve a(i) ' Увеличение размера массива для добавления имени закладки
    a(i) = b.Name ' добавление имени закладки в массив
    i = i + 1 ' увеличение счетчика подходящих закладок
    End If
    Next b

    Ответ отправил: Измалков Эдуард Леонидович, 10-й класс
    Ответ отправлен: 16.05.2010, 16:45
    Номер ответа: 261431

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

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

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

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

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

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

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

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

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


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

    В избранное