Хранение файлов и простенький файловый менеджер в файле(листе) Excel, Бинарное хранение данных в CustomProperty листа (Open FileName As Binary и Get, Put через байт-массив). Запуск с параметрами хранимых файлов.
Максимальная простота и переносимость - нет форм, модулей уровня проекта, классов и т.д., все в модуле листа "ByteSheet(Storage)". Переносим лист (переносятся и загруженные данные) в другой файл, готово! Или копируем код (загруженные данные НЕ переносятся) с листа "ByteSheet(Storage)" на свой лист - и ваш лист становится файловым менеджером!
Работа с файлами:
---> Как через МЕНЮ - работает стандартно через менеджер макросов (пользовательское стартовое меню "ByteSheet.START_MENU", в котором можно выбрать нужное действие и открыть нужное меню)
---> Так и используя ФУНКЦИИ напрямую в вашем проекте/надстройке, обычном файле Excel, поддерживающим макросы. Функции возвращают количество загруженных, выгруженных, удаленных файлов в случае успеха.
1."DownloadF" - Загрузка любых файлов (в т.ч. архивов, которые можно распаковать автоматом при выгрузке - ZIP), поддерживается пакетная загрузка.
2."UnloadF" - Выгрузка(в т.ч. пакетная)/Запуск файлов с параметрами. Поддерживается следующий функционал/параметры:
2.1 Выгрузка в выбранную папку, "по умолчанию" выгружаются в пользовательский "TEMP".
2.2 Выбор файла(ов) для выгрузки/запуска, "по умолчанию" выгружаются/запускаются все файлы.
2.3 Обновление файл(ов) в папке при распаковки, если он(и) там уже есть (выгружен(ы) ранее или есть с совпадающим
именем), по умолчанию: не обновляем
2.4 Распаковка из архива ZIP, по умолчанию: выгружаем архив, без распаковки
2.5 Открыть файл в Excel после распаковки, по умолчанию: не открываем
2.6 Запуск файл после распаковки, приложением "по умолчанию" (для архива - один файл в один архив, в обратном
случае, загрузится первый попавшийся из распакованного архива), по умолчанию: не запускаем
2.7 Запуск файла с нужными параметрами. Используется вместе с параметром 2.6 (аналогично командной строке с
параметрами, без указания самого файла - полный путь к файлу автоматом подставляется), по умолчанию: без
параметров.
2.8 Запуск файла, даже если он открыт в каком-либо процессе (запускать еще раз), по умолчанию: не запускаем.
Все эти параметры Optional, если их нет - функция выполняется с параметрами по умолчанию.
3."DeleteF" - Удаление файлов, в т.ч. пакетное.
Ниже исходники (лист ByteSheet(Storage)) и пример использования - модуль "Test" (расчет числа Пи).
В загруженных файлах секретных данных и вирусов нет.
Результаты стресс-тестирования:
Загрузить (файлов - 432 шт), Выгрузить (файлов - 432 шт), Удалить (файлов - 432 шт)
Общий размер файлов - 1 334 МБ (1,33 ГБ)
Время выполнения всех трех операций в сумме - 25 сек.
Размер книги Excel с файлами - 1,2 ГБ в формате .xlsb
P.S.
Отдельная благодарность , за любезно предоставленные алгоритмы, которые были несколько доработаны и дополнены для этих целей.
Максимальная простота и переносимость - нет форм, модулей уровня проекта, классов и т.д., все в модуле листа "ByteSheet(Storage)". Переносим лист (переносятся и загруженные данные) в другой файл, готово! Или копируем код (загруженные данные НЕ переносятся) с листа "ByteSheet(Storage)" на свой лист - и ваш лист становится файловым менеджером!
Работа с файлами:
---> Как через МЕНЮ - работает стандартно через менеджер макросов (пользовательское стартовое меню "ByteSheet.START_MENU", в котором можно выбрать нужное действие и открыть нужное меню)
---> Так и используя ФУНКЦИИ напрямую в вашем проекте/надстройке, обычном файле Excel, поддерживающим макросы. Функции возвращают количество загруженных, выгруженных, удаленных файлов в случае успеха.
1."DownloadF" - Загрузка любых файлов (в т.ч. архивов, которые можно распаковать автоматом при выгрузке - ZIP), поддерживается пакетная загрузка.
2."UnloadF" - Выгрузка(в т.ч. пакетная)/Запуск файлов с параметрами. Поддерживается следующий функционал/параметры:
2.1 Выгрузка в выбранную папку, "по умолчанию" выгружаются в пользовательский "TEMP".
2.2 Выбор файла(ов) для выгрузки/запуска, "по умолчанию" выгружаются/запускаются все файлы.
2.3 Обновление файл(ов) в папке при распаковки, если он(и) там уже есть (выгружен(ы) ранее или есть с совпадающим
именем), по умолчанию: не обновляем
2.4 Распаковка из архива ZIP, по умолчанию: выгружаем архив, без распаковки
2.5 Открыть файл в Excel после распаковки, по умолчанию: не открываем
2.6 Запуск файл после распаковки, приложением "по умолчанию" (для архива - один файл в один архив, в обратном
случае, загрузится первый попавшийся из распакованного архива), по умолчанию: не запускаем
2.7 Запуск файла с нужными параметрами. Используется вместе с параметром 2.6 (аналогично командной строке с
параметрами, без указания самого файла - полный путь к файлу автоматом подставляется), по умолчанию: без
параметров.
2.8 Запуск файла, даже если он открыт в каком-либо процессе (запускать еще раз), по умолчанию: не запускаем.
Все эти параметры Optional, если их нет - функция выполняется с параметрами по умолчанию.
3."DeleteF" - Удаление файлов, в т.ч. пакетное.
Ниже исходники (лист ByteSheet(Storage)) и пример использования - модуль "Test" (расчет числа Пи).
В загруженных файлах секретных данных и вирусов нет.
Результаты стресс-тестирования:
Загрузить (файлов - 432 шт), Выгрузить (файлов - 432 шт), Удалить (файлов - 432 шт)
Общий размер файлов - 1 334 МБ (1,33 ГБ)
Время выполнения всех трех операций в сумме - 25 сек.
Размер книги Excel с файлами - 1,2 ГБ в формате .xlsb
P.S.
Отдельная благодарность , за любезно предоставленные алгоритмы, которые были несколько доработаны и дополнены для этих целей.
«Бритва Оккама» или «Принцип Калашникова»?