Отменить сохранение файла через диалоговое окно.
Tunka-s
Дата: Четверг, 28.02.2019, 18:01 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Здравствуйте. Опять нужна помощь. Если пользователь пытается сохранить файл с пустыми полями, выходит предупреждение (форма) - Заполните все обязательные поля. Пользователь может заполнить поля сразу - для этого, он должен нажать кнопку "ОК" и вернуться к редактированию файла без сохранения, или он может сделать это позже. Для этого он должен выбрать кнопку - Сделаю это позже и файл должен сохраниться. Что-то уже сделано, но 1. В случе с "Сделаю это позже", Форма выскакивает второй раз и только потом сохраняется файл 2. В случае с "ОК" я не знаю как заставить файл не сохраняться. Помогите пожалуйста. [vba]Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean) Call Module7.highlight Call Module8.War_Mes End Sub
[/vba] [vba]Код
Sub War_Mes() Dim rCell As Range, A As Integer Set xyzRange = Range("J5:J400") For Each rCell In xyzRange If rCell.Interior.ColorIndex = 22 Then A = 1 End If Next If A = 1 Then UserForm2.Show End If End Sub
[/vba] [vba]Код
Private Sub CommandButton1_Click() Unload Me ActiveWorkbook.Save End Sub Private Sub CommandButton2_Click() Dim Cancel As Boolean *Тут надо что-то написать, чтобы не сохраняло?* Unload Me End Sub Private Sub UserForm_Click() End Sub
[/vba]
Здравствуйте. Опять нужна помощь. Если пользователь пытается сохранить файл с пустыми полями, выходит предупреждение (форма) - Заполните все обязательные поля. Пользователь может заполнить поля сразу - для этого, он должен нажать кнопку "ОК" и вернуться к редактированию файла без сохранения, или он может сделать это позже. Для этого он должен выбрать кнопку - Сделаю это позже и файл должен сохраниться. Что-то уже сделано, но 1. В случе с "Сделаю это позже", Форма выскакивает второй раз и только потом сохраняется файл 2. В случае с "ОК" я не знаю как заставить файл не сохраняться. Помогите пожалуйста. [vba]Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean) Call Module7.highlight Call Module8.War_Mes End Sub
[/vba] [vba]Код
Sub War_Mes() Dim rCell As Range, A As Integer Set xyzRange = Range("J5:J400") For Each rCell In xyzRange If rCell.Interior.ColorIndex = 22 Then A = 1 End If Next If A = 1 Then UserForm2.Show End If End Sub
[/vba] [vba]Код
Private Sub CommandButton1_Click() Unload Me ActiveWorkbook.Save End Sub Private Sub CommandButton2_Click() Dim Cancel As Boolean *Тут надо что-то написать, чтобы не сохраняло?* Unload Me End Sub Private Sub UserForm_Click() End Sub
[/vba] Tunka-s
К сообщению приложен файл:
test.xlsm
(86.2 Kb)
Ответить
Сообщение Здравствуйте. Опять нужна помощь. Если пользователь пытается сохранить файл с пустыми полями, выходит предупреждение (форма) - Заполните все обязательные поля. Пользователь может заполнить поля сразу - для этого, он должен нажать кнопку "ОК" и вернуться к редактированию файла без сохранения, или он может сделать это позже. Для этого он должен выбрать кнопку - Сделаю это позже и файл должен сохраниться. Что-то уже сделано, но 1. В случе с "Сделаю это позже", Форма выскакивает второй раз и только потом сохраняется файл 2. В случае с "ОК" я не знаю как заставить файл не сохраняться. Помогите пожалуйста. [vba]Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean) Call Module7.highlight Call Module8.War_Mes End Sub
[/vba] [vba]Код
Sub War_Mes() Dim rCell As Range, A As Integer Set xyzRange = Range("J5:J400") For Each rCell In xyzRange If rCell.Interior.ColorIndex = 22 Then A = 1 End If Next If A = 1 Then UserForm2.Show End If End Sub
[/vba] [vba]Код
Private Sub CommandButton1_Click() Unload Me ActiveWorkbook.Save End Sub Private Sub CommandButton2_Click() Dim Cancel As Boolean *Тут надо что-то написать, чтобы не сохраняло?* Unload Me End Sub Private Sub UserForm_Click() End Sub
[/vba] Автор - Tunka-s Дата добавления - 28.02.2019 в 18:01
vikttur
Дата: Четверг, 28.02.2019, 18:19 |
Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Зачем там вообще что-то писать? [vba]Код
Private Sub CommandButton2_Click() Unload Me End Sub
[/vba]
Зачем там вообще что-то писать? [vba]Код
Private Sub CommandButton2_Click() Unload Me End Sub
[/vba] vikttur
Ответить
Сообщение Зачем там вообще что-то писать? [vba]Код
Private Sub CommandButton2_Click() Unload Me End Sub
[/vba] Автор - vikttur Дата добавления - 28.02.2019 в 18:19
Tunka-s
Дата: Четверг, 28.02.2019, 18:29 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
vikttur, Потому что без этого файл сохраняется. Тогда смысла в двух кнопках вообще нет.
vikttur, Потому что без этого файл сохраняется. Тогда смысла в двух кнопках вообще нет. Tunka-s
Ответить
Сообщение vikttur, Потому что без этого файл сохраняется. Тогда смысла в двух кнопках вообще нет. Автор - Tunka-s Дата добавления - 28.02.2019 в 18:29
bmv98rus
Дата: Четверг, 28.02.2019, 18:45 |
Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
Глобальную переменную ей true когда не надо записывать и в before_save cancel=этой аеременной. А переменной присвоить false
Глобальную переменную ей true когда не надо записывать и в before_save cancel=этой аеременной. А переменной присвоить false bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Глобальную переменную ей true когда не надо записывать и в before_save cancel=этой аеременной. А переменной присвоить false Автор - bmv98rus Дата добавления - 28.02.2019 в 18:45
vikttur
Дата: Четверг, 28.02.2019, 18:52 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Форма закрывается. Сохраненения нет. Где Вы его увидели?
Форма закрывается. Сохраненения нет. Где Вы его увидели? vikttur
Ответить
Сообщение Форма закрывается. Сохраненения нет. Где Вы его увидели? Автор - vikttur Дата добавления - 28.02.2019 в 18:52
doober
Дата: Четверг, 28.02.2019, 18:57 |
Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 971
Репутация:
333
±
Замечаний:
0% ±
Excel 2010
Так можно.
Ответить
Сообщение Так можно. Автор - doober Дата добавления - 28.02.2019 в 18:57
Tunka-s
Дата: Четверг, 28.02.2019, 19:16 |
Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
bmv98rus, А можно примерчик. :confused:
bmv98rus, А можно примерчик. :confused: Tunka-s
Ответить
Сообщение bmv98rus, А можно примерчик. :confused: Автор - Tunka-s Дата добавления - 28.02.2019 в 19:16
bmv98rus
Дата: Четверг, 28.02.2019, 19:30 |
Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
Tunka-s , ну doober почти уже изобразил, но как то сложно.
Tunka-s , ну doober почти уже изобразил, но как то сложно.bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Tunka-s , ну doober почти уже изобразил, но как то сложно.Автор - bmv98rus Дата добавления - 28.02.2019 в 19:30
Tunka-s
Дата: Четверг, 28.02.2019, 19:54 |
Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
bmv98rus, Спасибо большое! Не сохраняет!
bmv98rus, Спасибо большое! Не сохраняет! Tunka-s
Ответить
Сообщение bmv98rus, Спасибо большое! Не сохраняет! Автор - Tunka-s Дата добавления - 28.02.2019 в 19:54
Tunka-s
Дата: Четверг, 28.02.2019, 19:55 |
Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
doober, У меня почему-то ошибка выскакивает... Но все равно спасибо. Задача решена.
doober, У меня почему-то ошибка выскакивает... Но все равно спасибо. Задача решена. Tunka-s
Ответить
Сообщение doober, У меня почему-то ошибка выскакивает... Но все равно спасибо. Задача решена. Автор - Tunka-s Дата добавления - 28.02.2019 в 19:55
doober
Дата: Четверг, 28.02.2019, 20:52 |
Сообщение № 11
Группа: Друзья
Ранг: Ветеран
Сообщений: 971
Репутация:
333
±
Замечаний:
0% ±
Excel 2010
Так решена или ошибка присутствует?
Так решена или ошибка присутствует?doober
Ответить
Сообщение Так решена или ошибка присутствует?Автор - doober Дата добавления - 28.02.2019 в 20:52
bmv98rus
Дата: Четверг, 28.02.2019, 21:22 |
Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
doober , Зачем через Доп функцию? Все ж в пределах одной книги. Раз все равно глобальная переменная, то просто её и теребить.
doober , Зачем через Доп функцию? Все ж в пределах одной книги. Раз все равно глобальная переменная, то просто её и теребить.bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение doober , Зачем через Доп функцию? Все ж в пределах одной книги. Раз все равно глобальная переменная, то просто её и теребить.Автор - bmv98rus Дата добавления - 28.02.2019 в 21:22
doober
Дата: Четверг, 28.02.2019, 21:41 |
Сообщение № 13
Группа: Друзья
Ранг: Ветеран
Сообщений: 971
Репутация:
333
±
Замечаний:
0% ±
Excel 2010
Глобальные переменные имеют особенность обнуляться. Я добавил свойство для книги, и оно передается непосредственно перед сохранением. Я стараюсь избегать глобальных переменных.
Глобальные переменные имеют особенность обнуляться. Я добавил свойство для книги, и оно передается непосредственно перед сохранением. Я стараюсь избегать глобальных переменных. doober
Сообщение отредактировал doober - Четверг, 28.02.2019, 21:42
Ответить
Сообщение Глобальные переменные имеют особенность обнуляться. Я добавил свойство для книги, и оно передается непосредственно перед сохранением. Я стараюсь избегать глобальных переменных. Автор - doober Дата добавления - 28.02.2019 в 21:41
bmv98rus
Дата: Четверг, 28.02.2019, 21:52 |
Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
doober , ну, в данном случае обнуление не навредит. только я что-то не понял.Я добавил свойство для книги, и оно передается непосредственно перед сохранением. Я стараюсь избегать глобальных переменных.
Public MyCancel As Boolean - это по вашему свойство книги? :-)
doober , ну, в данном случае обнуление не навредит. только я что-то не понял.Я добавил свойство для книги, и оно передается непосредственно перед сохранением. Я стараюсь избегать глобальных переменных.
Public MyCancel As Boolean - это по вашему свойство книги? :-)bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение doober , ну, в данном случае обнуление не навредит. только я что-то не понял.Я добавил свойство для книги, и оно передается непосредственно перед сохранением. Я стараюсь избегать глобальных переменных.
Public MyCancel As Boolean - это по вашему свойство книги? :-)Автор - bmv98rus Дата добавления - 28.02.2019 в 21:52
doober
Дата: Четверг, 28.02.2019, 22:22 |
Сообщение № 15
Группа: Друзья
Ранг: Ветеран
Сообщений: 971
Репутация:
333
±
Замечаний:
0% ±
Excel 2010
Так у меня в модуле книги прописано [vba]Код
Private MeCancel_ As Boolean Public Property Get MeCancel() As Boolean MeCancel = MeCancel_ End Property Public Property Let MeCancel(ByVal vNewValue As Boolean) MeCancel_ = vNewValue End Property
[/vba] А так передается в книгу ThisWorkbook.MeCancel = False
Так у меня в модуле книги прописано [vba]Код
Private MeCancel_ As Boolean Public Property Get MeCancel() As Boolean MeCancel = MeCancel_ End Property Public Property Let MeCancel(ByVal vNewValue As Boolean) MeCancel_ = vNewValue End Property
[/vba] А так передается в книгу ThisWorkbook.MeCancel = False doober
Ответить
Сообщение Так у меня в модуле книги прописано [vba]Код
Private MeCancel_ As Boolean Public Property Get MeCancel() As Boolean MeCancel = MeCancel_ End Property Public Property Let MeCancel(ByVal vNewValue As Boolean) MeCancel_ = vNewValue End Property
[/vba] А так передается в книгу ThisWorkbook.MeCancel = False Автор - doober Дата добавления - 28.02.2019 в 22:22