Вопрос № 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 Почему то у меня на сообщении крест в углу формы сообщения становится
недоступным, это как то устанавливается? Можно ли сделать, чтобы ни на одной кнопке не было фокуса? Спасибо Эндрю
Отвечает Измалков Эдуард Леонидович, 10-й класс :
Здравствуйте, Ципихович Эндрю! константа vbYesNo подразумевает, что обязательно должен быть какой-либо ответ, поэтому крестик для закрытия окна недоступен. Если Вы хотите дать пользователю шанс закрыть это окно, то используйте vbYesNoCancel. Если какое-либо окно активно, то фокус обязательно должен быть на одном из элементов этого окна. MsgBox устроен так, что фокус у него всегда на какой-либо кнопке, первой по умолчанию, либо на другой, указанной пользователем. Для
того, чтобы фокус был не на кнопке можно создать свою форму, выполняющую те же функции, но с фокусом не на кнопке.
Ответ отправил: Измалков Эдуард Леонидович, 10-й класс
Ответ отправлен: 16.05.2010, 16:36
Номер ответа: 261430
Оценка ответа: 5
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 261430
на номер 1151 (Россия) |
Еще номера »
Вопрос № 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 'Спасибо Эндрю
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 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.