|
|||||||
Как удалить книгу из самой себя
Время создания: 16.03.2019 23:43
Раздел: Разные закладки - VBA - Excel
Запись: xintrea/mytetra_db_adgaver_new/master/base/1514992010hi6pz19kff/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Как удалить книгу из самой себя Несмотря на несколько бредовое название статьи, данный вопрос поднимается с завидным постоянством. Кто-то таким образом хочет защитить свое творение от использования после определенной даты; кто-то слишком мнителен; а кто-то хочет знать просто из интереса: вдруг пригодится? Итак, если у вас есть код в книге Excel и вы хотите удалить(самоуничтожить) книгу по прошествии определенной даты (в примере ниже это 30.01.2014): Sub DelThisWorkbook() If Date > #1/30/2014# Then Application.DisplayAlerts = False ThisWorkbook.ChangeFileAccess xlReadOnly Kill ThisWorkbook.FullName Application.DisplayAlerts = True 'ThisWorkbook.Close 0 'если необходимо сразу же закрыть книгу(рекомендуется) End If End Sub Необходимо будет лишь вызывать данную процедуру в нужный момент. Каждый решит для себя сам когда это сделать. На открытие книги или перед выполнением основного кода. Если необходимо проверять дату при открытии книги, то в модуль книги надо будет поместить такой код: Private Sub Workbook_Open() DelThisWorkbook End Sub
Код процедуры DelThisWorkbook приведен выше и он должен уже присутствовать в книге либо в модуле книги , либо в стандартном модуле (Insert -Module). Если же необходимо открыть книгу на один раз и сразу после закрытия удалить, то пригодится следующий код: Private Sub Workbook_BeforeClose(Cancel As Boolean) Me.ChangeFileAccess xlReadOnly Kill Me.FullName End Sub
Код необходимо поместить в модуль книги . Полагаю, что не стоит лишний раз напоминать о том, что в данном случае макросы должны быть разрешены . |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|