Страницы: 1
RSS
Блокировать "файл-сохранить"
 
Добрый день. Необходимо в файле запретить использовать "файл-сохранить" или значок дискетки. Для сохранения есть кнопка-макрос сохранения документа в определенном месте с определенным именем (в зависимости от содержимого ячейки), а пользователи иногда путают нажимая просто сохранить, чем портят эталонный файл. Дать файлу атрибут "только чтение" не подходит, т.к. макросом файл пере сохраняется с такими же атрибутами а его необходимо мотом редактировать.
 
сохранить эталонный файл как шаблон.. тогда будет по крайней мере выдаваться сообщение, да и эталон не затрете точно.  
 
2 поставить перехват события сохранения. при сохранении из макроса ставить спец флажок(глобальную переменную), а если флажка нет, то в перехвате cancel=true
Живи и дай жить..
 
{quote}{login=слэн}{date=12.10.2011 12:26}{thema=}{post}  
2 поставить перехват события сохранения. при сохранении из макроса ставить спец флажок(глобальную переменную), а если флажка нет, то в перехвате cancel=true{/post}{/quote}  
 
как осуществить это на практике?
 
в модуль книги:  
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)  
   If Not progsaving Then Cancel = True  
End Sub  
 
в стандартный модуль:  
 
Public progsaving As Boolean  
 
Sub макрос_сохранения()  
   progsaving = True  
   ...  
   ...saveas  
   progsaving = False  
End Sub  
 
 
второй путь:  
 
проверять saveas это или просто save..
 
Спасибо все работает. Но вызникает новый вопрос как это:  
{quote}{login=}{date=12.10.2011 01:31}{thema=}{post}в модуль книги:  
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)  
   If Not progsaving Then Cancel = True  
End Sub  
 
в стандартный модуль:  
 
Public progsaving As Boolean  
 
Sub макрос_сохранения()  
   progsaving = True  
   ...  
   ...saveas  
   progsaving = False  
End Sub{/post}{/quote}  
 
удалить из сохраненного файла, т.е. макрос должен быть только в шаблоне?
 
нет. он так же сохранится. нужно  переделывать макрос сохранения... а он у вас где? ведь тоже должен сохраняться? или в надстройке?  
 
если в надстройке, то туда же лучше переместить и эту блокировку..  
 
иначе нужно  или удалять макросы, а лучше их и не сохранять - т.е. копировать информацию без макросов в новую книгу и уже ее сохранять на диск.
Живи и дай жить..
 
Спасибо,все работает. Тема закрыта.
Страницы: 1
Читают тему
Наверх