Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = True Range("G9,G11,G13,G15,G17,G19,G21,G23,G27,G33,G35,G37,G39,G41,G43,G45,G47,G49,G51,G53,G55,G57").Locked = True Range("G59,G61,G63,G65,G67,G69,G73,G75,G77,G79,G81,G83,G85,G87,G89,G90,G92,G94,G96,G98,G100,G102,G104").Locked = True Range("G108,G110,G112,G114,G116,G118,G120,G122,G124,G126,G128,G130,G132,G134,G136,G138,G140,G142,G145,G147,G149,G151,G153").Locked = True Dim reply As Integer reply = MsgBox("Вы указали план на следующую неделю?", vbYesNo, "Запрос на продолжение") Application.DisplayAlerts = False If reply = vbNo Then MsgBox "Укажите плановые задания на следующую неделю" ElseIf reply = vbYes Then Exit Sub End If End Sub
[/vba]Не могу добиться отключения запроса на сохранение книги посредством Application.DisplayAlerts = False По замыслу при нажатии "Да" после запроса "Вы указали план на следующую неделю?" файл должен закрываться с сохранением, а в противном случае возвращать пользователя на рабочий лист. Добавил файл. Пароль 528
Доброго времени суток. В книге есть макрос [vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = True Range("G9,G11,G13,G15,G17,G19,G21,G23,G27,G33,G35,G37,G39,G41,G43,G45,G47,G49,G51,G53,G55,G57").Locked = True Range("G59,G61,G63,G65,G67,G69,G73,G75,G77,G79,G81,G83,G85,G87,G89,G90,G92,G94,G96,G98,G100,G102,G104").Locked = True Range("G108,G110,G112,G114,G116,G118,G120,G122,G124,G126,G128,G130,G132,G134,G136,G138,G140,G142,G145,G147,G149,G151,G153").Locked = True Dim reply As Integer reply = MsgBox("Вы указали план на следующую неделю?", vbYesNo, "Запрос на продолжение") Application.DisplayAlerts = False If reply = vbNo Then MsgBox "Укажите плановые задания на следующую неделю" ElseIf reply = vbYes Then Exit Sub End If End Sub
[/vba]Не могу добиться отключения запроса на сохранение книги посредством Application.DisplayAlerts = False По замыслу при нажатии "Да" после запроса "Вы указали план на следующую неделю?" файл должен закрываться с сохранением, а в противном случае возвращать пользователя на рабочий лист. Добавил файл. Пароль 528light26
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = True Range("G9,G11,G13,G15,G17,G19,G21,G23,G27,G33,G35,G37,G39,G41,G43,G45,G47,G49,G51,G53,G55,G57").Locked = True Range("G59,G61,G63,G65,G67,G69,G73,G75,G77,G79,G81,G83,G85,G87,G89,G90,G92,G94,G96,G98,G100,G102,G104").Locked = True Range("G108,G110,G112,G114,G116,G118,G120,G122,G124,G126,G128,G130,G132,G134,G136,G138,G140,G142,G145,G147,G149,G151,G153").Locked = True Dim reply As Integer reply = MsgBox("Вы указали план на следующую неделю?", vbYesNo, "Запрос на продолжение") Application.DisplayAlerts = False If reply = vbNo Then MsgBox "Укажите плановые задания на следующую неделю" Cancel = True ElseIf reply = vbYes Then Me.Save: Exit Sub End If End Sub
[/vba]
Может так: [vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = True Range("G9,G11,G13,G15,G17,G19,G21,G23,G27,G33,G35,G37,G39,G41,G43,G45,G47,G49,G51,G53,G55,G57").Locked = True Range("G59,G61,G63,G65,G67,G69,G73,G75,G77,G79,G81,G83,G85,G87,G89,G90,G92,G94,G96,G98,G100,G102,G104").Locked = True Range("G108,G110,G112,G114,G116,G118,G120,G122,G124,G126,G128,G130,G132,G134,G136,G138,G140,G142,G145,G147,G149,G151,G153").Locked = True Dim reply As Integer reply = MsgBox("Вы указали план на следующую неделю?", vbYesNo, "Запрос на продолжение") Application.DisplayAlerts = False If reply = vbNo Then MsgBox "Укажите плановые задания на следующую неделю" Cancel = True ElseIf reply = vbYes Then Me.Save: Exit Sub End If End Sub
light26, просто добавьте Me.Save а Application.DisplayAlerts = False , да и exit sub не нужно мне кажется, а вот Сancel = true на пользу пойдет :-)
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = True Range("G9,G11,G13,G15,G17,G19,G21,G23,G27,G33,G35,G37,G39,G41,G43,G45,G47,G49,G51,G53,G55,G57").Locked = True Range("G59,G61,G63,G65,G67,G69,G73,G75,G77,G79,G81,G83,G85,G87,G89,G90,G92,G94,G96,G98,G100,G102,G104").Locked = True Range("G108,G110,G112,G114,G116,G118,G120,G122,G124,G126,G128,G130,G132,G134,G136,G138,G140,G142,G145,G147,G149,G151,G153").Locked = True
Dim reply As Integer reply = MsgBox("Вы указали план на следующую неделю?", vbYesNo, "Запрос на продолжение") 'Application.DisplayAlerts = False ' отключение вопросов If reply = vbNo Then MsgBox "Укажите плановые задания на следующую неделю" Cancel = True ElseIf reply = vbYes Then Me.Save
End If End Sub
[/vba]
light26, просто добавьте Me.Save а Application.DisplayAlerts = False , да и exit sub не нужно мне кажется, а вот Сancel = true на пользу пойдет :-)
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = True Range("G9,G11,G13,G15,G17,G19,G21,G23,G27,G33,G35,G37,G39,G41,G43,G45,G47,G49,G51,G53,G55,G57").Locked = True Range("G59,G61,G63,G65,G67,G69,G73,G75,G77,G79,G81,G83,G85,G87,G89,G90,G92,G94,G96,G98,G100,G102,G104").Locked = True Range("G108,G110,G112,G114,G116,G118,G120,G122,G124,G126,G128,G130,G132,G134,G136,G138,G140,G142,G145,G147,G149,G151,G153").Locked = True
Dim reply As Integer reply = MsgBox("Вы указали план на следующую неделю?", vbYesNo, "Запрос на продолжение") 'Application.DisplayAlerts = False ' отключение вопросов If reply = vbNo Then MsgBox "Укажите плановые задания на следующую неделю" Cancel = True ElseIf reply = vbYes Then Me.Save
ессли честно не помню(когда-то искал ответ) - помоему потому что это не стандартный алерт. Тут три варианта ответа. Да и если бы он сработал - то Вы бы не получили тот результат, который хотели книга закрывалась бы с сохранением.
ессли честно не помню(когда-то искал ответ) - помоему потому что это не стандартный алерт. Тут три варианта ответа. Да и если бы он сработал - то Вы бы не получили тот результат, который хотели книга закрывалась бы с сохранением.SLAVICK
Да, переводы там не литературные, это точно, но стали уже понимаемыми, конечно если в теме хоть немного и таких ляпов, которые мешают пониманию, меньше становится.
Да, переводы там не литературные, это точно, но стали уже понимаемыми, конечно если в теме хоть немного и таких ляпов, которые мешают пониманию, меньше становится.bmv98rus
Замечательный Временно просто медведь , процентов на 20.