Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Можно ли как-то ограничить количество открытий файла excel?
 
Собственно сабж
 
Открытий файла вообще или одновременных открытий ?
Если вообще, то в модуль книги на событие Open повесить соответствующий код
Изменено: Sanja - 30 Авг 2015 21:12:13
Согласие есть продукт при полном непротивлении сторон.
 
открытий вообще.
а код можно увидеть?
 
Например так (ограничение на 5 открытий)
Согласие есть продукт при полном непротивлении сторон.
 
Как-тот так
Код
Private Sub Workbook_Open()
With Sheets("Лист2").Cells(1, 1)
If .Value >= 10 Then
    Application.DisplayAlerts = False
    ThisWorkbook.Save
    Application.Quit
End If
.Value = .Value + 1
End With
End Sub


 
МВТ, при закрытии файла (только) с Вашим кодом БЕЗ сохранения, ограничение в 10 открытий можно обойти
Согласие есть продукт при полном непротивлении сторон.
 
Sanja, если знать где хранится счетчик, обойти можно любой код  :D Но, в целом, согласен, Ваш код удачнее
 
;). отключить макросы, и про счетчик можно не знать в принципе
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
Sanja написал: отключить макросы
Можно вынудить включить макросы. :)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Sanja, подскажите а как правильно ограничить открытие файла после определенной даты?  

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Контроль количества открытий и контроль даты - это одно и то же?
 
Прошу прощения за мою тупость, не попробовав сам спросил. решил этот вопрос так:
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
    Me.Save
Application.DisplayAlerts = True
End Sub

Private Sub Workbook_Open()
Worksheets("Лист1").Range("A1") = Date
With Worksheets("Лист1").Range("A1")
    .Value = .Value + 1
    If .Value > Worksheets("Лист1").Range("B1") Then
        MsgBox "Данный файл больше открыть нельзя!", vbCritical + vbOKOnly
        Application.DisplayAlerts = False
        Me.Close
    End If
End With
Application.DisplayAlerts = True
End Sub
Спасибо!

Бессмысленно осмысливать смысл неосмысленными мыслями.
Страницы: 1
Читают тему (гостей: 1)
Наверх