Когда писал первый вариант не заметил, что строки файлов м3u различаются
Это основная структура записи
#EXTINF:-1 group-title="Герои Энвелла",Сезон 1 - Серия 10 - Неизвестная локация
https: //strm.yandex.ru/vh-ott-converted/ott-content/493306269-41178fc958d098058dda2b906148c594/master_quality.m3u8
В приведенном примере Вами другая
Алгоритм анализа фалов m3u переписал, работает корректно.
Цитата |
---|
Acid Burn написал: Вместо выбора папки лучше вернуть выбор файлов с strMyDocuments = Application.ActiveWorkbook.Path & "\". |
Добавил две константы и реализацию диалогов. Это пример того как можно собрать с двух вариантов один.
'константа для выбора управления диалоговыми окнами выбора файла или папки
'0 - используется диалог выбора файлов, 1 - используется диалог выбора папки
Private Const SHOWUSERDIALOG As Byte = 0
'константа для выбора папки сохранения
'0 - сохраняет результатирующий файл по умолчанию в папку с Parserом, 1 - используется диалог выбора папки
Private Const SAVEDUSERPATH As Byte = 0
Меняйте значения этих констант и получите разную реализацию работы пользователя с диалоговыми окнами и путями сохранения файлов ответов.
По умолчанию работает с папкой в которой лежит программа.
Цитата |
---|
Acid Burn написал: Все m3u и asx нужно собрать в одну таблицу в одном файле |
m3u файлы собираются в одну таблицу с удалением дубликатов (с тех файлов которые выбрал пользователь или тех которые лежат в одной папке), сохраняются в один файл ResultatM3U_дата_время. Asx файлы оставил в тойже реализации, собираются данные в отдельный файл ResultatASX_дата_время. Asx файлов много, данных на выходе мало, и данные таких файлов отличаются от таблиц m3u файлов.
Цитата |
---|
Acid Burn написал: на том листе, с которого запущен макрос. |
Программа работает с внешними файлами, в себя ничего не загружает, реализованы диалоги обращения к внешним файлам. Мое мнение вы знаете мухи отдельно, котлеты отдельно.
Цитата |
---|
Acid Burn написал: - При повторном запуске макроса новые данные должны добавляться в ту же таблицу (если реально, то без дублей).- То, что "источник разный" не важно, пусть остаётся первый попавшийся - на выходе всё равно будет новый файл. |
Написал процедуру парсинга файлов с возможностью дописать данные в существующий файл выбранный пользователем. Данные добавляются в имеющуюся таблицу в файле с удалением дубликатов.
Дополнительно написал процедуру удаления дубликатов данных в существующем файле ответе (ResultatM3U_дата_время. ) выбранном пользователем (вспомогательная процедура). Основное назначение при условии, что пользователь самостоятельно собрал с нескольких файлов ответов одну таблицу.
Пользуйтесь.