Страницы: 1
RSS
может ли файл заменить сам себя?
 
здравствуйте.  
на работе один файл есть в 3 копиях на 3 компах.  
в 1 работаю я, и по чуть-чуть модернизирую его.  
потом скидываю копию на общий диск, из файлов юзеров копирую ихнюю информацию в другой файлик, их рабочий заменяю на новую версию, а потом вставляю обратно ихние данные.  
можно ли как то автоматизировать это обновление?  
з копированием проблем нет, но вот не могу придумать как заставить файл скопировать новую версию вместо самого себя?  
может тут надо какую то стороннюю силу задействовать?)
 
Может, просто включить общий доступ в файле на общем диске?
 
Не понял в деталях весь процесс.  
Но вот то, что написано в строках 4 и 5, можно сделать макросом.
 
включить общий доступ не получится так как у каждого свои справочники.  
 
"Но вот то, что написано в строках 4 и 5, можно сделать макросом."  
 
а как именно заставить файл заменить самого себя?  
 
то есть получается если я запускаю макрос из файла А, то ему надо:  
1. скопировать нужную инфу в отдельную книгу.  
2. закрыть файл А.  
3. скопировать файл Б из сетевого дска вместо файла А.  
4. Открыть файл Б уже который на локальном диске и вставить в него инфу.  
 
из этого всего затруднение вызывают пункты 3 и 4.  
как макросу действовать, если он закроет свою рабочую книгу?
 
Запускайте макрос из файла Б или В.  
А убить себя вероятно можно так - сохранив себя в темр, убить себя прежнего. Но не проверял.
 
> включить общий доступ не получится так как у каждого свои справочники.  
 
я бы этого не утверждал.  
Общий доступ тут в самый раз подойдёт, а справочники (разные) можно (и нужно) хранить в отдельных файлах.  
Ссылаться на эти справочники можно при помощи формул, или подгружать данные из них макросом.  
 
Если только 3 справочника - то можно поместить их на разные листы в общий файл.  
С макросами не советую связываться - вместо удобства получите кучу сложностей.
 
та там весь файл на макросах)  
сложности конечно есть сначала, но потом все нормируется)  
 
у каждого порядка 6 справочников которые служат источниками данных для формы ввода.  
ну и своя база данных.  
унифицирована только структура файла.
 
Ну, раз уж вы успели понаделать макросов, - тогда конечно, проще кода немного дописать.  
 
Я бы сделал 2 макроса:  
1) макрос в вашем файле.    
Он с заданным интервалом копирует лист с данными на общий диск  
(я бы создавал текстовый файл, хотя можно и XLS. не важно)  
 
2) макрос для коллег  
этот макрос регулярно (с интервалом в пару минут) проверяет дату изменения файла на общем диске, и, если дата новее, чем дата последнего обновления данных в книге, - то макрос подгружает в свой файл данные из выгруженного листа.  
 
Что-то подобное я делал в этой теме:  
http://www.programmersforum.ru/showthread.php?t=38674
 
http://www.planetaexcel.ru/forum.php?thread_id=30627
 
спасибо, но немного не то.  
я наверное не совсем понятно излагаю.  
мне надо не данными между файлами перекидываться, а производить обновление самого файла, то есть макросной его составляющей.  
это как браузер находить новую свою версию и заменяет ею старую, но при этом все настройки и данные пользователя сохраняются.  
там обновление раз в неделю наверное, но иногда чаще, а надоедает каждый раз копировать эти листы в отдельную книгу и назад.  
кроме того, получается, если меня нет - никто не может (не умеет) это сделать)  
привыкли все к кнопочкам)
 
Так может только код макроса заменять? Погуглите по VBComponents.
 
выделяете макросную составляющую в отдельный файл( надстройку), и только ее и заменяете..
Живи и дай жить..
Страницы: 1
Наверх