запускать его надо отдельно да? запустить из под открытого файла excel нельзя?
Запускать надо сам скрипт, двойным щелчком. Подразумевается, что файл копия закрыт на момент запуска. В коде нужно поменять xlsx на xls и пути расположения файлов, больше ничего менять не нужно.
запускать его надо отдельно да? запустить из под открытого файла excel нельзя?
Запускать надо сам скрипт, двойным щелчком. Подразумевается, что файл копия закрыт на момент запуска. В коде нужно поменять xlsx на xls и пути расположения файлов, больше ничего менять не нужно.
Roman777, Да ещё один вопрос, можно ли прикрутить прогресс выполнения именно копирования в статус бар, чего-то никак не пойму как это реализовать.
Roman777, Да ещё один вопрос, можно ли прикрутить прогресс выполнения именно копирования в статус бар, чего-то никак не пойму как это реализовать.ZamoK
Manyasha, Оригинал и копия рабочая имеют одинаковое название. Открывая рабочую копию выводится сообщение о том что файл устарел и на сервере есть более свежий файл, спрашивает Обновить? Да Нет . нажатием одной кнопки происходит закрытие файла, его замена, и открытие свежей, обновлённой копии. Roman777, помог мне это реализовать, но процедура долгая получилась, таится надежда что твой вариант мог бы отработать быстрей. Да и вообще очень интересное исполнение. Занёс себе в библиотеку
Manyasha, Оригинал и копия рабочая имеют одинаковое название. Открывая рабочую копию выводится сообщение о том что файл устарел и на сервере есть более свежий файл, спрашивает Обновить? Да Нет . нажатием одной кнопки происходит закрытие файла, его замена, и открытие свежей, обновлённой копии. Roman777, помог мне это реализовать, но процедура долгая получилась, таится надежда что твой вариант мог бы отработать быстрей. Да и вообще очень интересное исполнение. Занёс себе в библиотеку ZamoK
ZamoK, мне кажется, что так просто не получится. Скорее всего только сторонними библиотеками. Просто информацию о текущем кол-ве скопированных байт даже откуда читать (для сравнения их с реальным весом файла - это что первое мне в голову приходит)? Напрямую из системной папки Temp мб, хотя не уверен, что такое получится, и даже если получится, будет очередным "костылём". Однозначно, я на данный вопрос затрудняюсь ответить))) [p.s.]Мб когда-нибудь попробую покопать в эту степь, но просто никогда не было нужды.[/p.s.]
ZamoK, мне кажется, что так просто не получится. Скорее всего только сторонними библиотеками. Просто информацию о текущем кол-ве скопированных байт даже откуда читать (для сравнения их с реальным весом файла - это что первое мне в голову приходит)? Напрямую из системной папки Temp мб, хотя не уверен, что такое получится, и даже если получится, будет очередным "костылём". Однозначно, я на данный вопрос затрудняюсь ответить))) [p.s.]Мб когда-нибудь попробую покопать в эту степь, но просто никогда не было нужды.[/p.s.]Roman777
Pelena, ну почему же не относится? Решение получено, процесс долгий, и как бонус или "люкс" исполнение данного макроса будет интересно не только мне, но и другим форумчанам, кто непосредственно заинтересовался данной темой. Я и как многие здесь наверное, очень не люблю "недопиленных" произведений (Буратино).
Pelena, ну почему же не относится? Решение получено, процесс долгий, и как бонус или "люкс" исполнение данного макроса будет интересно не только мне, но и другим форумчанам, кто непосредственно заинтересовался данной темой. Я и как многие здесь наверное, очень не люблю "недопиленных" произведений (Буратино).ZamoK
ZamoK, Лучше отдельной темой потому, что кому-то мб потребуется тоже решать проблему не целиком как у Вас, а только организацию статус бара только при копировании файла... и кстати, с большей вероятностью ответ на вопрос получите.
ZamoK, Лучше отдельной темой потому, что кому-то мб потребуется тоже решать проблему не целиком как у Вас, а только организацию статус бара только при копировании файла... и кстати, с большей вероятностью ответ на вопрос получите.Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Вторник, 06.06.2017, 12:20
ZamoK, с вопросом для обновления. Книги лежат в разных папках с одинаковы именем book. [vba]
Код
Dim fileOrig, fileCopy Dim oExcel, fso Dim date1, date2
fileOrig = "C:\test1\book.xls" fileCopy = "C:\test2\book.xls" Set fso = WScript.CreateObject("Scripting.Filesystemobject")
If Not fso.FileExists(fileOrig) Then msgbox "Файл " & fileOrig & " отсутствует!" WScript.Quit Else
Set date1 = fso.GetFile(fileOrig) Set date2 = fso.GetFile(fileCopy) If date2.DateLastModified < date1.DateLastModified Then if msgbox ("Файл устарел. Обновить?", 4) = 6 then fso.CopyFile fileOrig, fileCopy end if End If
Set oExcel = WScript.CreateObject("Excel.Application") oExcel.Visible = true oExcel.Workbooks.Open(fileCopy) End If Set oExcel = Nothing Set fso = Nothing
я же Вам писала, что мой вариант не предусматривает открытия самого файла. Нужно запускать скрипт, а не файл экселя. Двойным щелчком нажимаете на open file.vbs, он уже сам понимает, какой файл нужно открыть.
ZamoK, с вопросом для обновления. Книги лежат в разных папках с одинаковы именем book. [vba]
Код
Dim fileOrig, fileCopy Dim oExcel, fso Dim date1, date2
fileOrig = "C:\test1\book.xls" fileCopy = "C:\test2\book.xls" Set fso = WScript.CreateObject("Scripting.Filesystemobject")
If Not fso.FileExists(fileOrig) Then msgbox "Файл " & fileOrig & " отсутствует!" WScript.Quit Else
Set date1 = fso.GetFile(fileOrig) Set date2 = fso.GetFile(fileCopy) If date2.DateLastModified < date1.DateLastModified Then if msgbox ("Файл устарел. Обновить?", 4) = 6 then fso.CopyFile fileOrig, fileCopy end if End If
Set oExcel = WScript.CreateObject("Excel.Application") oExcel.Visible = true oExcel.Workbooks.Open(fileCopy) End If Set oExcel = Nothing Set fso = Nothing
я же Вам писала, что мой вариант не предусматривает открытия самого файла. Нужно запускать скрипт, а не файл экселя. Двойным щелчком нажимаете на open file.vbs, он уже сам понимает, какой файл нужно открыть.Manyasha
Manyasha, Все отлично работает, только вот у меня на комп. установлено два офиса 2003 и 2016, файлы 2003 года открываются в офисе 2003 года, ну а свежее соответственно 2016. (Зачем это нужно не спрашивайте, объяснять долго, проще принять.) Можно ли поменять как-то скрипт, чтоб открывал в офисе 2003 года?
Manyasha, Все отлично работает, только вот у меня на комп. установлено два офиса 2003 и 2016, файлы 2003 года открываются в офисе 2003 года, ну а свежее соответственно 2016. (Зачем это нужно не спрашивайте, объяснять долго, проще принять.) Можно ли поменять как-то скрипт, чтоб открывал в офисе 2003 года?ZamoK