[CDR 2017-2021] Открытие файлов по маске

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
Всем добрый день!
И снова я за помощью.
Описание проблемы: открыть файл по маске. Существует постоянная папка в которой время от времени появляются файлы для работы макроса. После обработки они переносятся в другую папку (1541-шаблон.cdr, 1541-поля.txt, 1541-замены.txt). Появляются другие, например: 0277-шаблон.cdr, 0277-поля.txt, 0277-замены.txt
Задача: открыть макросом кореловский файл, и нужный текстовый файл для создания массива.
Код:
    ...
Dim doc As Document
Dim openopt As StructOpenOptions

----------- Путь к файлам -----------
    PaFoS = "E:\Темп для скриптов\Для текстовых\"
---------------------------------------------
    
Set openopt = CreateStructOpenOptions
Set doc = OpenDocumentEx(PaFoS & "*-шаблон.cdr", openopt)      'Пишет нет такого файла

Open PaFoS & "*-замены.txt" For Input Access Read Shared As hFile   'Ошибка, не находит файл
    ...

Получается запись типа "*-замены.txt" не является маской для открытия.
В инете находил решения для VBA.Net, Exel VBA, но для Corel-a не нашел. Плиз ХЕЛП, 3-ий день "борюсь"
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 197
Реакции
10 847
А кто вам сказал что OpenDocumentEx умеет по маске открывать???
И который по вашему из (теоретически) кучи найденных он должен открыть?
 

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
Ни кто! ((
Для корела **-шаблон.cdr", для массива - "*-замены.txt". В принципе только эти файлы и нужны для открытия.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Ну вот теперь вам я говорю что нельзя
Можно организовать последовательный поиск файлов по шаблону и последовательное открытие
Но это как вы понимаете не в одну строку
 

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
Ну, да, понимаю. А где-то можно посмотреть код подобного поиска.
Если с OpenDocumentEx нельзя отрывать по маске, возможно можно как то по другому отрывать файл, где можно применить маску. В принципе по сути нужно отрыть файл, как это делать, думаю что не важно. Хотя я возможно не прав.
OpenDocumentAsCopy и OpenDocument тоже ведь не понимают маску. Других методов открытия я не знаю.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Не понимают
Им надо полностью путь задавать
 

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
М-даааа, вы прям расстроили меня (((((. Как же теперь быть.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Курить файловые операции на VBA. Вы ж в стартовом посте написали, что для эксела решение нашли? Там VBA абсолютно аналогичный кореловскому
 

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
Да, но там почему-то маска типа "*-шаблон.xsl*" срабатывает.
В Corel - нет (((
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 197
Реакции
10 847

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
Четно говоря в Exel VBA не проверял. Но на форумах данный вопрос завершался выражением типа - "спасибо все работает"
 

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
ну гуглите vba работа с файлами, там можно получить список файлов в папке, если повезет, то с маской по расширению... затем перебираете список на соответствие имени файла вашим критериям и скармливаете его вашей обработке.
Вам нужно типа этого
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 197
Реакции
10 847

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
В инете находил решения Плиз ХЕЛП, 3-ий день "борюсь"
Похоже гуглению нужно в школе обучать "corel vba dir"
@_MBK_
да я уже ссылку на готовый пример дал, там проще паренной репы и свое можно докрутить типа проверки "-шаблон"
 
  • Спасибо
Реакции: Erchizo

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 197
Реакции
10 847
  • Спасибо
Реакции: Erchizo

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
ААААА СПАСИБКИ
К солению в мои школьные годы предмета информатика не было )))))
D = Dir(NaFoS & "*.cdr") и D = Dir(NaFoS & "*.txt") сработали!
Отрывают соответственно кореловский и текстовый файлы.
А если учесть, что здесь мы приняли решение для обработки помещать в папку только два файла (корел и текст) - то задача РЕШЕНА.
Еще раз всем СПАСИБО
 

Linxy

Девушка с битой
10 лет на форуме
Сообщения
2 277
Реакции
3 836
  • Спасибо
Реакции: splxgf