Страницы: 1
RSS
Как заставить макрос работать, по событию закрытия книги
 
Есть макрос записан, требуется, чтобы он запускался при закрытии книги, или Excel
 
вот пример кода, который сохраняет книгу при ее закрытии и не ругается  
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)  
Application.DisplayAlerts = False  
ActiveWorkbook.Save  
End Sub  
 
между саб и енд саб можно напихать чего требуется :-)
 
Извиняюсь, чуть-чуть не правильно вопрос задал, мне нужно, чтобы макрос работал для всех книг. Так чтобы его глобально написать, а не в каждую книгу вводить.
 
Товарищу safin требуется следующее (судя по предыдущей его теме):  
1. У некоего господина (или дамы) имеется флешка, которую он периодически вставляет в компьютер, к которому имеет доступ наш герой (safin), но не имеет доступа к самой флешке  
2. Нашему герою ОЧЕНЬ хочется узнать содержимое этой самой флешки, а в частности файлов эксель  
3. Вот и созрел в его голове хитроумный план написать макрос (точнее чтобы ув. форумчане его написали), который будет сохранять в определенную папку копию любого открытого(закрытого) экселевского файла на данном компьютере, а равно как и файлов открытых(закрытых) с флешки  
 
Мне кажеца что здесь попахивает макровирусом, или я не так понял?
 
а по закрытию - чтобы самый свежачок? :)
 
Молодец 007, правильно понял. Можно сделать все проще, контролировать вставление флешки и катать оттуда все файлы, но вот это уже более страшное преступление. И потом это не так интересно.
 
Safin, Опа! Не знал такого...  
Как сохранять файл по закрытию - знаю, а вот по событию появления нового носителя...  
Ну поделись. Весь код не нужен, только основное.  
Все равно ведь открою для себя это, рано или поздно. Мне просто хочется знать такие примочки, чтобы не быть "лохом" в VBA.
 
safin, я так предполагаю, что тут не обходится без функций API. Я их плохо, то есть ваще не знаю, как с ними работать.
 
dsapa  
Тут нафиг Excel уже не нужен. Главное иметь администраторские права на компьютер, а мне хочется имено один эксельский файл, имено с помощью макросов взять.
 
аха.. админские права все же нужны..  
 
хотя зачем не знаю :)
 
возможен ли такой вариант:  
если есть доступ к Excel, сделать для него надстройку, в которой и прописать процедуру сохранения всех открытых книг в определенную папку при событии закрытия любой из них. Мусору вагон и маленькая тележка выйдет, но может и получится что-нить. И лучше не сам файл сохранять, а копирнуть, а то юзер удивлен будет - работал, а рез-т тот же (редактированный файл улетел в шпионскую папку).    
Эт так, теоретические домыслы, на практике фиг его знает, что выйдет.
 
слэн  
Чтобы всю флешку утащить.  
 
Мне же просто нужно копирнуть файл, который будет на выходе. Т.е. его сохранить в двух местах, на флешке и на локальном жестком диске.  
 
Уже найдено, как копирнуть, только там ситуации, либо нужно вставлять кнопочку, чтобы человечек ее нажал, либо макрос в книгу вставлять. А то и другое увы не проходит.
 
{quote}{login=}{date=26.06.2008 03:57}{thema=}{post}возможен ли такой вариант:  
если есть доступ к Excel, сделать для него надстройку, в которой и прописать процедуру сохранения всех открытых книг в определенную папку при событии закрытия любой из них. Мусору вагон и маленькая тележка выйдет, но может и получится что-нить. И лучше не сам файл сохранять, а копирнуть, а то юзер удивлен будет - работал, а рез-т тот же (редактированный файл улетел в шпионскую папку).    
Эт так, теоретические домыслы, на практике фиг его знает, что выйдет.{/post}{/quote}  
 
истина где-то рядом
 
mazayZR ответил..  
 
если вы этого не поняли, то..
 
Бало уже, однако...  
 
Цитата_1 (safin):  
1 - "Задача стоит следующим образом:  
1. Уже есть файл, хранится на флешке, требуется украсть его копию;  
2. К файлу как понимаете никакого доступа нет;  
3. Но есть доступ к Excel на компьютере, где работают с этим файлом;  
4. Требуется макрос, который будет запускаться, при запуске Excel и при закрытии файла или его сохранении, просто сохраняет копию в определенную папку."  
 
Цитата_2(Артем) (:  
"даже и не знаю...мне кажется это неэстетичным и не этичным  
"  
Вопрос: г-н safin, может вам сразу в НТЦ Генпрокуратуры, МВД или ФСБ обратиться? Там заодно и справку дадут под какую/ие статью/и подпадете сами и "консультанты"? Ведь не решение задачи "А=Б+С" треубется "стянуть"...
 
Z,   "генпрокуратура... статью... стянуть..."  
А я так скажу: отнюдь!  
Любой поступок любого человека можно оценить как на "плюс", так и на "минус". Как там у Гёте в "Фаусте"?  
"Кто хочет правым быть и языком владеет,  
Тот правым быть всегда сумеет" (слова Мефистофеля).  
Поэтому предлагаю считать эту тему как развивающую для всех нас, юзеров. В противном случае мы не юзеры, а лохи, если не знаем таких "уловок" и лазеек Екселя. Готов поспорить.  
Продолжаем тему. Думаю, тут надо в Екселе прописать макрос, который бы срабатывал от события открытия определенного файла с определенного носителя. А вот с чего начать - ума не приложу. К тому же надо и порт знать, к которому флешка подключается, а их в компе может быть 3-4 штуки (USB).
 
я все-таки думаю про надстройку, а чтоб лишнего не накопировать-так сделать проверку в коде принадлежности файла к съемному диску по имени диска, и если да, то копировать. Да и вообще просто интересно на сам код посмотреть, если кто-то захочет таковой написать, как писал ранее ув. dsapa, в качестве развития. А "консультанты" с "генпрокуратурой"... - кто будет использовать, пусть энтих и ловят. :)
 
ну, если вы уверены, что съемный диск всегда определенной буквой будет, то да..    
 
впрочем это несущественно, надо тогда проверить, что это не жесткий диск - их буквы меняются значительно реже..  
 
и все равно - вам давно уже ответили.. а недостающее давно бы справкой нагнали..
 
{quote}{login=слэн}{date=28.06.2008 10:03}{thema=}{post}ну, если вы уверены, что съемный диск всегда определенной буквой будет, то да..    
 
впрочем это несущественно, надо тогда проверить, что это не жесткий диск - их буквы меняются значительно реже..  
 
и все равно - вам давно уже ответили.. а недостающее давно бы справкой нагнали..{/post}{/quote}  
 
слэн, посты с надстройкой мои (сорри, забывал подписываться), а искать решение - не вижу практического применения. Интересно просто разбираться в том, что вы (я имею ввиду всех гуру этого форума) здесь выкладываете. Я учусь :). А насчет справки - не повезло, офис англоязычный, а в англицком я еще хуже разбираюсь, чем в VBA :). А еще как всегда два фактора: время и лень искать что-то самому, что не будет потом использоваться (тут Артема полностью поддерживаю про этичность вопроса). Просто любопытно.
Страницы: 1
Читают тему
Наверх