Всем привет. Уже наткнулся раз на грабли, когда потерял все документы. Больше не хочу! Но сохранять каждый раз копии вручную все же проблематично. Можно макрос написать, который бы: 1. сохранял копию файла на съемном носителе. 2. при отсутствии носителя (флешки в USB-порту) - предупреждал об этом 3. повторял структуру оригинала (если на компьютере путь к файлу Мои документы - Отчеты, то и на флешке путь должен быть таким же)?
Всем привет. Уже наткнулся раз на грабли, когда потерял все документы. Больше не хочу! Но сохранять каждый раз копии вручную все же проблематично. Можно макрос написать, который бы: 1. сохранял копию файла на съемном носителе. 2. при отсутствии носителя (флешки в USB-порту) - предупреждал об этом 3. повторял структуру оригинала (если на компьютере путь к файлу Мои документы - Отчеты, то и на флешке путь должен быть таким же)?light26
Я не волшебник. Я только учусь
Сообщение отредактировал light26 - Пятница, 23.12.2011, 21:52
Серёга как всегда круче варёных яиц. В понедельник на работе посмотрю внимательнее, но уже сейчас видно, что не плохо было бы проверять не только наличие пути, но и доступность его для записи. Тогда можно было бы "предохраняться" не только на флэшке, но и на сетевых дисках. Я когда-то писАл такую функцию для проверки ПОЛНОЙ доступности пути:
Function ChkPATH(sPath$) AsBoolean' проверка существования пути к папке и её доступности на запись и удаление OnErrorResumeNext GetAttr (sPath) ' если папка не существует, то будет ошибка If Err ThenGoTo eXXit Dim DirName$ Do DoWhileLen(DirName) < 10' случайное имя из смеси 10 букв кириллицы и латиницы
DirName = DirName & Chr(Int(Asc("АБВ") + 32 * Rnd)) & Chr(Asc("abc") + Int(26 * Rnd)) Loop LoopWhileDir(sPath & DirName) <> ""' пока имя не будет уникальным в папке MkDir sPath & DirName: RmDir sPath & DirName ' создать и удалить папку
eXXit: ChkPATH = (Err = 0)
Err.Clear EndFunction
Серёга как всегда круче варёных яиц. В понедельник на работе посмотрю внимательнее, но уже сейчас видно, что не плохо было бы проверять не только наличие пути, но и доступность его для записи. Тогда можно было бы "предохраняться" не только на флэшке, но и на сетевых дисках. Я когда-то писАл такую функцию для проверки ПОЛНОЙ доступности пути:
Function ChkPATH(sPath$) AsBoolean' проверка существования пути к папке и её доступности на запись и удаление OnErrorResumeNext GetAttr (sPath) ' если папка не существует, то будет ошибка If Err ThenGoTo eXXit Dim DirName$ Do DoWhileLen(DirName) < 10' случайное имя из смеси 10 букв кириллицы и латиницы
DirName = DirName & Chr(Int(Asc("АБВ") + 32 * Rnd)) & Chr(Asc("abc") + Int(26 * Rnd)) Loop LoopWhileDir(sPath & DirName) <> ""' пока имя не будет уникальным в папке MkDir sPath & DirName: RmDir sPath & DirName ' создать и удалить папку
eXXit: ChkPATH = (Err = 0)
Err.Clear EndFunction
И в мыслях не было. Я реально подумал, что задача невыполнима (есть ведь хоть что-то, что VBA не умеет))) ), - за полтора суток 17 просмотров и ни одного ответа.
Цитата (KuklP писал(а)):
Да ладно! На понт берем?
И в мыслях не было. Я реально подумал, что задача невыполнима (есть ведь хоть что-то, что VBA не умеет))) ), - за полтора суток 17 просмотров и ни одного ответа.light26
типичная задача для операционной системы. в рабочие дни в 13:00 у меня стартует простеньний BAT-файл, который пакует мои данные и копирует архив на сервер. 1 раз в неделю второй батник копирует этот файл на флешку. Все это происходит "ежедневно" без моего вмешательства уже много лет подряд. У вас документы только из Excel? В Word никогда не доводилось документов создавать? в графике не работаете? все это не надо продублировать? Любой файл, который содержит уникальную и важную для Вас информацию, набранную Вами лично - следует дублировать.
Лично я пользуюсь Nc_sched.exe из комплекта NС2000. Все достаточно просто в настройке и достаточно гибко по возможностям.
типичная задача для операционной системы. в рабочие дни в 13:00 у меня стартует простеньний BAT-файл, который пакует мои данные и копирует архив на сервер. 1 раз в неделю второй батник копирует этот файл на флешку. Все это происходит "ежедневно" без моего вмешательства уже много лет подряд. У вас документы только из Excel? В Word никогда не доводилось документов создавать? в графике не работаете? все это не надо продублировать? Любой файл, который содержит уникальную и важную для Вас информацию, набранную Вами лично - следует дублировать.
Лично я пользуюсь Nc_sched.exe из комплекта NС2000. Все достаточно просто в настройке и достаточно гибко по возможностям.IgorGo
Игорь, а что, разве NС2000 до сих пор живёт и пашет на новых операционках типа Vista/Win7? Я уж, честно говоря, совсем забыл как в NC-подобных коммандерах работать Да и искусство написания батников, ИМХО, уже практически утеряно в массах так же как и DOS-программирование и работа в командной строке.
Игорь, а что, разве NС2000 до сих пор живёт и пашет на новых операционках типа Vista/Win7? Я уж, честно говоря, совсем забыл как в NC-подобных коммандерах работать Да и искусство написания батников, ИМХО, уже практически утеряно в массах так же как и DOS-программирование и работа в командной строке.Alex_ST
разве NС2000 до сих пор живёт и пашет на новых операционках типа Vista/Win7?
не знаю, надо пробовать, пакет не требует установки, вполне возможно - будет жить на семерочке. Nc_sched.exe - запустить один разок, он реестр прописывает данные о себе и стартует потом с каждой загрузкой. систему не грузит, поставленную задачу выполняет, меня утраивает на 100%.
я в освоении операционок остановился на ХР))). Из-за таких как я - может остановиться прогресс человечества...
а вот и батник, который пакует архив. последняя строка задает архиватору условия работы. предварительно на диск i:\ копирую персональную книгу макросов, потом упаковыую в igor.rar все, кроме перечисленного в файле i:\ut\nopak.txt
echo off echo copy personal.xlsb to i:\autopen\xls copy "C:\Documents and Settings\goncharenko.DLNET\Application Data\Microsoft\Excel\XLSTART\personal.xlsb" i:\autopen\xls echo update arhiv "c:\program files\winrar\rar.exe" u i:\igor.rar i:\*.* -r -ed -ep2 -y -x@i:\ut\nopak.txt
Цитата (Alex_ST писал(а)):
разве NС2000 до сих пор живёт и пашет на новых операционках типа Vista/Win7?
не знаю, надо пробовать, пакет не требует установки, вполне возможно - будет жить на семерочке. Nc_sched.exe - запустить один разок, он реестр прописывает данные о себе и стартует потом с каждой загрузкой. систему не грузит, поставленную задачу выполняет, меня утраивает на 100%.
я в освоении операционок остановился на ХР))). Из-за таких как я - может остановиться прогресс человечества...
а вот и батник, который пакует архив. последняя строка задает архиватору условия работы. предварительно на диск i:\ копирую персональную книгу макросов, потом упаковыую в igor.rar все, кроме перечисленного в файле i:\ut\nopak.txt
echo off echo copy personal.xlsb to i:\autopen\xls copy "C:\Documents and Settings\goncharenko.DLNET\Application Data\Microsoft\Excel\XLSTART\personal.xlsb" i:\autopen\xls echo update arhiv "c:\program files\winrar\rar.exe" u i:\igor.rar i:\*.* -r -ed -ep2 -y -x@i:\ut\nopak.txtIgorGo
Серёга, а зачем ты в первой строке своей функции Формула или Код VBA: Public Function ExistDir(ByVal dirName As String) As Boolean назначаешь Формула или Код VBA: ExistDir = Falseведь она и так False после объявления?
Леш, да это готовую взял где-то(не помню). Лень было вникать:-)
Цитата (Alex_ST писал(а)):
Серёга, а зачем ты в первой строке своей функции Формула или Код VBA: Public Function ExistDir(ByVal dirName As String) As Boolean назначаешь Формула или Код VBA: ExistDir = Falseведь она и так False после объявления?
Леш, да это готовую взял где-то(не помню). Лень было вникать:-)KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728