Есть ли способ «выделить» файл в vba? Мой код переходит в ряд папок и импортирует данные из каждого файла (excel), присутствующего в основной базе данных. Самая трудоемкая часть операции - открытие файлов - в настоящее время я добавляю префикс к имени файла после импорта. Код ищет этот префикс и пропускает файл в следующем цикле импорта.Earmarking Excel файл через VBA
Есть ли более элегантный и менее видимый интерфейс для маркировки файлов, чтобы VBA мог распознать завершенный файл, не открывая его первым?
EDIT: Чтобы уточнить, имена файлов считываются, и файл не обрабатывается, если у него есть префикс (I_). Я ищу способ отметить файл без изменения его соответствующего местоположения или имени файла - свойство, которое не сразу видно для других пользователей базы данных. Эта маркировка должна сохраняться после завершения кода, так как те же файлы проверяются позже и, возможно, с нескольких компьютеров, на которых выполняется код обновления.
Я не могу хранить базу данных обработанных файлов - их несколько тысяч и растут. По сравнению с этим списком потребуется больше времени, чем открытие файла и его обработка независимо от того, был ли он запущен раньше.
Массив обработанных файлов не будет сохраняться. У меня нет проблемы с обработкой одного и того же файла несколько раз за одно исполнение, а скорее из [обработки файла каждый раз, когда код выполняется вместо однократного выполнения] или [переименовать файл]. Последнее не является хорошим решением - я не хочу переименовывать тысячи файлов, используемых для ссылок другими людьми и программами.
Не могли бы вы сохранить журнал файлов в уже импортированной базе данных? Или переместите файлы в папку «Completed Imports» или что-то вроде этого? Почему вы открываете файл для проверки имени файла? Не могли бы вы проверить имя файла, прежде чем открывать файл, а не открывать его, если он имеет префикс? – OpiesDad
Переместить файлы в «обработанную» папку? – bated
Зачем открывать файл, чтобы получить имя файла? Исправьте свой код, чтобы он проверял имя файла ** перед тем, как открыть его. Это было бы довольно быстро. – JNevill