Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2009, 13:10   #1
gavrylyuk
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 55
По умолчанию Удаление файла

Добрый день.
Подскажите пожалуйста как решить следующую проблему:

Есть файл эксель. Нужно чтобы можно было в него зайти, поработать, а при закрытии он автоматически удалился!???

Спасибо
gavrylyuk вне форума Ответить с цитированием
Старый 27.11.2009, 13:16   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

в лоб: пусть в файле будет макрос, запускающий при закрытии внешний bat-ник c ожиданием внутри и удаляющий данный файл.
зы: а зачем такое нужно?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 27.11.2009, 13:19   #3
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Написал на Планете, пишу и здесь:
Нужно писать код либо в PERSONAL.XLS, либо в надстройку, который бы посредством классов, перед закрытием книги с определенным именем запоминал путь к данной книге и после её закрытия удалял. Т.к. невозможно удалить книгу, пока она используется какой-либо программой, а в данном случае удаление самой себя из себя же звучит вообще нереально.
Можно прописать макрос, который бы перед закрытием данной книги просто удалял бы всю информацию со всех листов, либо удалял все листы, кроме одного(пустго).
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 27.11.2009, 13:28   #4
gavrylyuk
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 55
По умолчанию

Так как это сделать???
gavrylyuk вне форума Ответить с цитированием
Старый 27.11.2009, 13:29   #5
gavrylyuk
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 55
По умолчанию

Мне не нужно удалять информацию, мне нужно удалить книгу целиком!!!
gavrylyuk вне форума Ответить с цитированием
Старый 27.11.2009, 13:40   #6
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от gavrylyuk Посмотреть сообщение
Мне не нужно удалять информацию, мне нужно удалить книгу целиком!!!
Вам в таком случае без привлечения другого файла не обойтись...
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 27.11.2009, 13:59   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

на форуме уже было и запуск внешнего файла через макрос и целая ветка по bat-никам... вот вам сам внешний батник с ожиданием и удалением filename.xls (задание времени ожидания через командную строку):
Код:
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

If "%1"=="" Exit
If %1 LSS 0 GoTo :EOF
If %1 GTR 999 GoTo :EOF

Set pDelay=%1
Set iDelay=0
Set pTime=%Time:~7,1%

:WAIT
Set iTime=%Time:~7,1%
If %iTime% == %pTime% GoTo :WAIT
Set pTime=%iTime%
Set /a iDelay=%iDelay%+1
If %iDelay% LSS %pDelay% GoTo :WAIT

EndLocal

del filename.xls
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 27.11.2009, 18:39   #8
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Посмотрите вот это Ограничение количества запусков файла.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 26.11.2010, 06:47   #9
npocmop
Пользователь
 
Аватар для npocmop
 
Регистрация: 02.11.2010
Сообщений: 55
По умолчанию

а существует ли принципиальная возможность удалять кроме книги и архив из которого она была извлечена и с почтового сервера .. возможна ли такая цепь саморазрушения?

Или это уже категория «вирусы» ?

Последний раз редактировалось npocmop; 26.11.2010 в 15:24.
npocmop вне форума Ответить с цитированием
Старый 26.11.2010, 09:03   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
...без привлечения другого файла не обойтись...
Вставьте в модуль "Эта книга" код:
Код:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.DisplayAlerts = False: On Error Resume Next
    ThisWorkbook.ChangeFileAccess xlReadOnly
    Kill ThisWorkbook.FullName: Application.DisplayAlerts = True
    ThisWorkbook.Close False
End Sub
Сохраните файл. Затем, попробуйте закрыть файл.

Использовать можно по-разному. Дело вкуса. Например, можно при закрытии файла спрашивать пароль, и в случае правильного ввода - обходить эту процедуру. В случае неправильного - выполнять.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 26.11.2010 в 11:35.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление файла Яр|/||< (^_^) Общие вопросы Delphi 8 18.08.2009 09:05
Удаление из файла M1ham Общие вопросы C/C++ 1 31.05.2009 02:45
Удаление файла uraura Общие вопросы Delphi 3 29.11.2008 18:38
Удаление файла mopozoff Общие вопросы Delphi 1 13.06.2008 21:25
Удаление файла Македонский Общие вопросы Delphi 5 06.09.2007 11:46