Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Перестает работать Добавлено: 17.10.08 11:59  

Автор вопроса:  AngryBadger
Ситуция такая:
Есть книга из 2-х листов. На оба листа стоит запрет печати. При закрытие книги если первый лист является активным, появляется UserForm, с тремя кнопками: Перейти на следующий лист, Сохранить и выйти, Выйти без сохранения. Так вот, если нажать кнопку Перейти на следующий лист, все замечательно переходит, и выход из документа прерывается. НО, Перестает работать запрет печати + если ручками(мышкой) активировать 1 лист и повторить закрытие, Userform не появляется.
Подскажите, пожалуйста, как с этим бороться??

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 17.10.08 15:13
Перестает работать запрет печати

А как он у тебя реализован, просвети? Код дай или объясни.

Ответить

Номер ответа: 2
Автор ответа:
 Шпион



ICQ: 250543104 

Вопросов: 13
Ответов: 118
 Профиль | | #2 Добавлено: 17.10.08 15:48
Да-да! Мне тоже интересно увидеть код! Ссылку (код) в студию!

Ответить

Номер ответа: 3
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #3 Добавлено: 17.10.08 16:06
Сейчас сделал запрет печати только на один лист(Если его можно так назвать).
_________________________________________________________________________________
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Лист 1" Then
If Me.Worksheets(1).OptionButton43.Value = Me.Worksheets(1).OptionButton44.Value Then
Cancel = True
UserForm1.Show 'Выдает сообщение о том что лист нельзя распечатать пока ты его не заполнен
End If
End If
End Sub
________________________________________________________________
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ActiveSheet.Name = "Лист 1" Then
UserForm2.Show 'Выдает напоминание о том что нужно заполнить 2 лист(Предлагает 3 варианта на выбор: Заполнить, Сохранить и выйти, Выйти без сохранения
Cancel = True
End If
End Sub

И вот код CommandButton'ов на Юзерформе

Private Sub CommandButton1_Click()
UserForm2.Hide
Sheets(2).Visible = True
Sheets(2).Activate
Application.EnableEvents = False
Application.DisplayAlerts = False
Cancel = False
End Sub
____________________________________________
Private Sub CommandButton2_Click()
UserForm2.Hide
Application.EnableEvents = False
Application.DisplayAlerts = False
Cancel = True
ActiveWorkbook.Close SaveChanges:=True
Application.Quit
End Sub

___________________________________________________
Private Sub CommandButton3_Click()
UserForm2.Hide
Application.EnableEvents = False
Application.DisplayAlerts = False
Cancel = True
ActiveWorkbook.Close SaveChanges:=False
Application.Quit
End Sub

Ответить

Номер ответа: 4
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #4 Добавлено: 17.10.08 16:12
Ой, у первого Командбаттона кусок кода забыл удалить
Application.EnableEvents = False
Application.DisplayAlerts = False
Cancel = False

Ответить

Номер ответа: 5
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #5 Добавлено: 17.10.08 16:14
И все заработало как надо))) Простите дурачка)))

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам