Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автосохранение копии - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Автосохранение копии
light26 Дата: Пятница, 23.12.2011, 21:52 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1351
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Всем привет.
Уже наткнулся раз на грабли, когда потерял все документы. Больше не хочу! Но сохранять каждый раз копии вручную все же проблематично.
Можно макрос написать, который бы:
1. сохранял копию файла на съемном носителе.
2. при отсутствии носителя (флешки в USB-порту) - предупреждал об этом
3. повторял структуру оригинала (если на компьютере путь к файлу Мои документы - Отчеты, то и на флешке путь должен быть таким же)?


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Пятница, 23.12.2011, 21:52
 
Ответить
СообщениеВсем привет.
Уже наткнулся раз на грабли, когда потерял все документы. Больше не хочу! Но сохранять каждый раз копии вручную все же проблематично.
Можно макрос написать, который бы:
1. сохранял копию файла на съемном носителе.
2. при отсутствии носителя (флешки в USB-порту) - предупреждал об этом
3. повторял структуру оригинала (если на компьютере путь к файлу Мои документы - Отчеты, то и на флешке путь должен быть таким же)?

Автор - light26
Дата добавления - 23.12.2011 в 21:52
light26 Дата: Воскресенье, 25.12.2011, 14:37 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1351
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Похоже, что задача непосильная...(((


Я не волшебник. Я только учусь
 
Ответить
СообщениеПохоже, что задача непосильная...(((

Автор - light26
Дата добавления - 25.12.2011 в 14:37
KuklP Дата: Воскресенье, 25.12.2011, 18:17 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Да ладно! На понт берем? В макросе надо поменять букву диска флехи на свою.
К сообщению приложен файл: 0632210.xls (34.5 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеДа ладно! На понт берем? В макросе надо поменять букву диска флехи на свою.

Автор - KuklP
Дата добавления - 25.12.2011 в 18:17
Alex_ST Дата: Воскресенье, 25.12.2011, 20:30 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Серёга как всегда круче варёных яиц.
В понедельник на работе посмотрю внимательнее, но уже сейчас видно, что не плохо было бы проверять не только наличие пути, но и доступность его для записи. Тогда можно было бы "предохраняться" не только на флэшке, но и на сетевых дисках.
Я когда-то писАл такую функцию для проверки ПОЛНОЙ доступности пути:[vba]
Код
Function ChkPATH(sPath$) As Boolean   ' проверка существования пути к папке и её доступности на запись и удаление
      On Error Resume Next
      GetAttr (sPath)   ' если папка не существует, то будет ошибка
      If Err Then GoTo eXXit
      Dim DirName$
      Do
         Do While Len(DirName) < 10   ' случайное имя из смеси 10 букв кириллицы и латиницы
            DirName = DirName & Chr(Int(Asc("АБВ") + 32 * Rnd)) & Chr(Asc("abc") + Int(26 * Rnd))
         Loop
      Loop While Dir(sPath & DirName) <> ""   ' пока имя не будет уникальным в папке
      MkDir sPath & DirName: RmDir sPath & DirName   ' создать и удалить папку
eXXit:    ChkPATH = (Err = 0)
      Err.Clear
End Function
[/vba]
можно будет попытаться прикрутить.

Серёга, а зачем ты в первой строке своей функции [vba]
Код
Public Function ExistDir(ByVal dirName As String) As Boolean
[/vba]
назначаешь [vba]
Код
ExistDir = False
[/vba]ведь она и так False после объявления?



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Воскресенье, 25.12.2011, 20:30
 
Ответить
СообщениеСерёга как всегда круче варёных яиц.
В понедельник на работе посмотрю внимательнее, но уже сейчас видно, что не плохо было бы проверять не только наличие пути, но и доступность его для записи. Тогда можно было бы "предохраняться" не только на флэшке, но и на сетевых дисках.
Я когда-то писАл такую функцию для проверки ПОЛНОЙ доступности пути:[vba]
Код
Function ChkPATH(sPath$) As Boolean   ' проверка существования пути к папке и её доступности на запись и удаление
      On Error Resume Next
      GetAttr (sPath)   ' если папка не существует, то будет ошибка
      If Err Then GoTo eXXit
      Dim DirName$
      Do
         Do While Len(DirName) < 10   ' случайное имя из смеси 10 букв кириллицы и латиницы
            DirName = DirName & Chr(Int(Asc("АБВ") + 32 * Rnd)) & Chr(Asc("abc") + Int(26 * Rnd))
         Loop
      Loop While Dir(sPath & DirName) <> ""   ' пока имя не будет уникальным в папке
      MkDir sPath & DirName: RmDir sPath & DirName   ' создать и удалить папку
eXXit:    ChkPATH = (Err = 0)
      Err.Clear
End Function
[/vba]
можно будет попытаться прикрутить.

Серёга, а зачем ты в первой строке своей функции [vba]
Код
Public Function ExistDir(ByVal dirName As String) As Boolean
[/vba]
назначаешь [vba]
Код
ExistDir = False
[/vba]ведь она и так False после объявления?

Автор - Alex_ST
Дата добавления - 25.12.2011 в 20:30
light26 Дата: Воскресенье, 25.12.2011, 20:51 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1351
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Quote (KuklP)
Да ладно! На понт берем?

И в мыслях не было. Я реально подумал, что задача невыполнима (есть ведь хоть что-то, что VBA не умеет))) ), - за полтора суток 17 просмотров и ни одного ответа.


Я не волшебник. Я только учусь
 
Ответить
Сообщение
Quote (KuklP)
Да ладно! На понт берем?

И в мыслях не было. Я реально подумал, что задача невыполнима (есть ведь хоть что-то, что VBA не умеет))) ), - за полтора суток 17 просмотров и ни одного ответа.

Автор - light26
Дата добавления - 25.12.2011 в 20:51
IgorGo Дата: Понедельник, 26.12.2011, 01:03 | Сообщение № 6
Группа: Друзья
Ранг: Форумчанин
Сообщений: 108
Репутация: 38 ±
Замечаний: 0% ±

типичная задача для операционной системы.
в рабочие дни в 13:00 у меня стартует простеньний BAT-файл, который пакует мои данные и копирует архив на сервер. 1 раз в неделю второй батник копирует этот файл на флешку. Все это происходит "ежедневно" без моего вмешательства уже много лет подряд.
У вас документы только из Excel? В Word никогда не доводилось документов создавать? в графике не работаете? все это не надо продублировать? Любой файл, который содержит уникальную и важную для Вас информацию, набранную Вами лично - следует дублировать.

Лично я пользуюсь Nc_sched.exe из комплекта NС2000. Все достаточно просто в настройке и достаточно гибко по возможностям.
 
Ответить
Сообщениетипичная задача для операционной системы.
в рабочие дни в 13:00 у меня стартует простеньний BAT-файл, который пакует мои данные и копирует архив на сервер. 1 раз в неделю второй батник копирует этот файл на флешку. Все это происходит "ежедневно" без моего вмешательства уже много лет подряд.
У вас документы только из Excel? В Word никогда не доводилось документов создавать? в графике не работаете? все это не надо продублировать? Любой файл, который содержит уникальную и важную для Вас информацию, набранную Вами лично - следует дублировать.

Лично я пользуюсь Nc_sched.exe из комплекта NС2000. Все достаточно просто в настройке и достаточно гибко по возможностям.

Автор - IgorGo
Дата добавления - 26.12.2011 в 01:03
Alex_ST Дата: Понедельник, 26.12.2011, 08:53 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Игорь,
а что, разве NС2000 до сих пор живёт и пашет на новых операционках типа Vista/Win7?
Я уж, честно говоря, совсем забыл как в NC-подобных коммандерах работать sad
Да и искусство написания батников, ИМХО, уже практически утеряно в массах так же как и DOS-программирование и работа в командной строке.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеИгорь,
а что, разве NС2000 до сих пор живёт и пашет на новых операционках типа Vista/Win7?
Я уж, честно говоря, совсем забыл как в NC-подобных коммандерах работать sad
Да и искусство написания батников, ИМХО, уже практически утеряно в массах так же как и DOS-программирование и работа в командной строке.

Автор - Alex_ST
Дата добавления - 26.12.2011 в 08:53
light26 Дата: Понедельник, 26.12.2011, 09:05 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1351
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Quote (IgorGo)
В Word никогда не доводилось документов создавать?

Дык я подумал, что макрос будет и там и там работать. Плюс Visio. shy
Quote (IgorGo)
у меня стартует простеньний BAT-файл, который пакует мои данные и копирует архив на сервер. 1 раз в неделю второй батник копирует этот файл на флешку.

А глянуть-то на них можно? wink
Quote (IgorGo)
Лично я пользуюсь Nc_sched.exe из комплекта NС2000

А это че за зверь и с чем его едят?
Quote (IgorGo)
типичная задача для операционной системы

Блин, да что же это я в самом деле-то. Ведь есть выход! Порылся в инете и в свободном общении выложил такую ссылку


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Понедельник, 26.12.2011, 09:10
 
Ответить
Сообщение
Quote (IgorGo)
В Word никогда не доводилось документов создавать?

Дык я подумал, что макрос будет и там и там работать. Плюс Visio. shy
Quote (IgorGo)
у меня стартует простеньний BAT-файл, который пакует мои данные и копирует архив на сервер. 1 раз в неделю второй батник копирует этот файл на флешку.

А глянуть-то на них можно? wink
Quote (IgorGo)
Лично я пользуюсь Nc_sched.exe из комплекта NС2000

А это че за зверь и с чем его едят?
Quote (IgorGo)
типичная задача для операционной системы

Блин, да что же это я в самом деле-то. Ведь есть выход! Порылся в инете и в свободном общении выложил такую ссылку

Автор - light26
Дата добавления - 26.12.2011 в 09:05
IgorGo Дата: Понедельник, 26.12.2011, 11:41 | Сообщение № 9
Группа: Друзья
Ранг: Форумчанин
Сообщений: 108
Репутация: 38 ±
Замечаний: 0% ±

Quote (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
 
Ответить
Сообщение
Quote (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

Автор - IgorGo
Дата добавления - 26.12.2011 в 11:41
KuklP Дата: Понедельник, 26.12.2011, 13:11 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Quote (Alex_ST)
Серёга, а зачем ты в первой строке своей функции Формула или Код VBA: Public Function ExistDir(ByVal dirName As String) As Boolean назначаешь Формула или Код VBA: ExistDir = Falseведь она и так False после объявления?
Леш, да это готовую взял где-то(не помню). Лень было вникать:-)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Quote (Alex_ST)
Серёга, а зачем ты в первой строке своей функции Формула или Код VBA: Public Function ExistDir(ByVal dirName As String) As Boolean назначаешь Формула или Код VBA: ExistDir = Falseведь она и так False после объявления?
Леш, да это готовую взял где-то(не помню). Лень было вникать:-)

Автор - KuklP
Дата добавления - 26.12.2011 в 13:11
nerv Дата: Понедельник, 26.12.2011, 14:05 | Сообщение № 11
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Quote (KuklP)
Да ладно! На понт берем?

По любому)

IgorGo, я тоже себе батники писал, штуки 3-4. Вещь очень удобная. Только запускаю их в ручную smile

А сейчас думаю, нафига лепил? Видимо проще было VBScript написать)


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Понедельник, 26.12.2011, 14:08
 
Ответить
Сообщение
Quote (KuklP)
Да ладно! На понт берем?

По любому)

IgorGo, я тоже себе батники писал, штуки 3-4. Вещь очень удобная. Только запускаю их в ручную smile

А сейчас думаю, нафига лепил? Видимо проще было VBScript написать)

Автор - nerv
Дата добавления - 26.12.2011 в 14:05
KuklP Дата: Вторник, 27.12.2011, 09:11 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Сокращенный вариант, с АПИ:
[vba]
Код
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Public Sub www()
      Dim s$, a, st$
     On Error GoTo www_Error
      st = "k:"
      s = ThisWorkbook.Path: s = st & Mid(s, 3) & "\"
      MakeSureDirectoryPathExists s
      ThisWorkbook.SaveCopyAs (s & ThisWorkbook.Name)
     Exit Sub
www_Error:
      MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure www"
End Sub
[/vba]
К сообщению приложен файл: 5219876.xls (30.0 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеСокращенный вариант, с АПИ:
[vba]
Код
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Public Sub www()
      Dim s$, a, st$
     On Error GoTo www_Error
      st = "k:"
      s = ThisWorkbook.Path: s = st & Mid(s, 3) & "\"
      MakeSureDirectoryPathExists s
      ThisWorkbook.SaveCopyAs (s & ThisWorkbook.Name)
     Exit Sub
www_Error:
      MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure www"
End Sub
[/vba]

Автор - KuklP
Дата добавления - 27.12.2011 в 09:11
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!