Страницы: 1
RSS
Как запретить открытать книги Excel?
 
Доброго времени суток!  
 
Столкнулся с такой задачей.  
Имеется определенный файл с макросами Excel 2003, в котором будут работать Пользователи.  
Необходимо, чтобы при работе в этом файле Excel, другие файлы Excel - не открывались.  
Точнее, чтобы они вообще не могли открыться.  
 
Пробовал так:  
Private WithEvents App As Application  
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)  
   With Application  
       .EnableCancelKey = xlDisabled  
       .ScreenUpdating = False  
       .EnableEvents = False  
       If Wb.Name <> Me.Name Then  
           Wb.Close False  
           MsgBox "Нельзя открывать файлы Excel!", 16, "Ошибка!"  
       End If  
       .EnableEvents = True  
       .ScreenUpdating = True  
       .EnableCancelKey = xlInterrupt  
   End With  
End Sub  
 
Но файл всеравно открывается...  
 
Или возможно, чтобы макросы при открытии других файлов не срабатовали?!
<FONT COLOR="CadetBlue">
 
Неужели нет идей? :)  
 
Или я не правильно сформулировал вопрос?
 
можно заблокировать кнопочку открыть, и поставить галочку игнорировать dde..
Живи и дай жить..
 
слэн, в том то и дело, что действие вызывается не кнопочной. Пользователь заходит в проводник Windows (или др.программой) и открывает файл с макросами.  
Файл (другой) открывается и макросы в нем зашуршали, только когда файл открыт, его мой код убивает (закрывает).  
 
А как заблокировать открытие файла в проводнике и т.п.?!
 
{quote}{login=ТолькоУчусь}{date=19.05.2010 05:31}{thema=}{post}слэн, в том то и дело, что действие вызывается не кнопочной. Пользователь заходит в проводник Windows (или др.программой) и открывает файл с макросами.  
Файл (другой) открывается и макросы в нем зашуршали, только когда файл открыт, его мой код убивает (закрывает).  
А как заблокировать открытие файла в проводнике и т.п.?!{/post}{/quote}  
Вирь?
Я сам - дурнее всякого примера! ...
 
KuklP, какой Вирь?! :)  
 
Мне необходимо, чтобы Пользователь работал в одном (обзовем, главном) файле.  
В нем прикрутил кнопки открывать и закрывать файлы (без макросов).  
 
Но Пользователь, по не знанию или еще какой-нибудь причине, решит открыть файл старым и проверенным способом, например, через проводник и он откроется.  
 
А мне необходимо заставить его открывать только через кнопку, так как меня волнует, чтобы он не открыл его с макросами.
<FONT COLOR="CadetBlue">
 
> А как заблокировать открытие файла в проводнике и т.п.?!  
 
никак не заблокировать.  
(точнее, можно, конечно, но очень сложно - сообразительный пользователь все равно найдёт способ)  
 
Можно на время работы программы исправлять в реестре одно значение, сопоставляющее файлы XLS приложению Excel, но ведь ест же в контекстном меню пункты "Открыть с помощью..." и "Отправить..."  
 
Вообще, если макрос некорректно работает с другими, невовремя открываемыми файлами excel, надо не открытие файлов запрещать, а макрос переписывать...
 
EducatedFool, спасибо большое, за столь подробное объяснение! ;)  
 
Я так понимаю нужно в "Private Sub Workbook_Open" это прописать, так как в моем примере, макрос все же допускает открытие файла?!
 
{quote}{login=ТолькоУчусь}{date=19.05.2010 05:31}{thema=}{post}слэн, в том то и дело, что действие вызывается не кнопочной. Пользователь заходит в проводник Windows (или др.программой) и открывает файл с макросами.  
Файл (другой) открывается и макросы в нем зашуршали, только когда файл открыт, его мой код убивает (закрывает).  
 
А как заблокировать открытие файла в проводнике и т.п.?!{/post}{/quote}  
 
вы до конца дочитываете? последнее слово в моем посте..
Живи и дай жить..
 
Уважаемый слэн, простите, но не совсем понял "и поставить галочку игнорировать dde.."  
 
Пожалуйста, объясните, хотя бы кратко, что это такое?
<FONT COLOR="CadetBlue">
 
сервис-параметры-общие-игнорировать запросы DDE  
 
иксель открывается но пустой
Живи и дай жить..
 
слэн, спасибо большое!  
 
Узнал о существование интересной опции :)
<FONT COLOR="CadetBlue">
Страницы: 1
Читают тему
Наверх
Loading...