Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

20 Январь 2018, 12:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Диалоговое окно - Да,Нет  (Прочитано 212 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AlexWorkStream
Новичок
*
Offline Offline

Сообщений: 47


« Стартовое сообщение: 9 Ноябрь 2017, 15:01 »

Подскажите пожалуйста, как правильно сделать  диалоговое окно - Да,Нет? Дело в том, что при использовании vbYesNo, все равно, выводится только одна кнопка - ОК.
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 332


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #1: 9 Ноябрь 2017, 15:15 »

Код:
Sub Main
Dim n%, s$
n=msgbox("Это диалоговое окно?",4,"Ответь!")
s=IIf(n=6,"Да","Нет")
msgbox(s,0,"Ответил:")
End Sub
Записан

AlexWorkStream
Новичок
*
Offline Offline

Сообщений: 47


« Ответ #2: 9 Ноябрь 2017, 16:18 »

Dim n%, s$
n=msgbox("Это диалоговое окно?",4,"Ответь!")
s=IIf(n=6,"Да","Нет")
msgbox(s,0,"Ответил:")

Вы не могли бы проверить, то что я сделал? Я только учусь...
Все работает как мне надо, но только хотелось бы мнения эксперта по правильности написания.

Код:
Sub DialogDaNet
Dim n%, s$
n=msgbox("Занести данные в базу?",4,"Внимание!")
If (n=6) then
Call NovajaKategorija
msgbox("Данные занесены в базу",0,"Внимание!")
End If
If (n=7) then
msgbox("Операция отменена",0,"Внимание!")
End If
End Sub
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 332


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #3: 9 Ноябрь 2017, 16:43 »

Вы не могли бы проверить, то что я сделал? Я только учусь...
Все работает как мне надо, но только хотелось бы мнения эксперта по правильности написания.
В общем не плохо, но немного грубо (не обтёсано) и не логично: если ответили "да", то проверки на "нет" проводить не нужно и наоборот.

Лучше так:
Код:
Sub DialogDaNet1
Dim n%
n=msgbox("Занести данные в базу?",4,"Внимание!")
If n=7 Then msgbox("Операция отменена",0,"Внимание!") : Exit Sub
NovajaKategorija
msgbox("Данные занесены в базу",0,"Внимание!")
End Sub

Проверяем если ответ "нет", то сообщаем и немедленно выходим из макроса, если ответ "да", выполняем действие и отчитываемся о завершении.
Записан

AlexWorkStream
Новичок
*
Offline Offline

Сообщений: 47


« Ответ #4: 9 Ноябрь 2017, 16:59 »

Лучше так
Спасибо огромное! Продолжу осваивать данную тему...
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!