393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
|
|
1 | |
Поиск файла в сетевой директории командой из формы18.08.2017, 10:27. Показов 6469. Ответов 65
Метки нет (Все метки)
Добрый день всем!
Подскажите пожалуйста, можно ли выполнить поиск файла с заданным названием, который находится в сетевой папке предприятия и используется для работы производственными подразделениями. Вкратце для чего. --Имеем некий справочник, редактируемый и дополняемый конструкторским бюро. --Справочник выполнен в виде таблицы, как в примере. --В оригинале разумеется данных больше, но они как бы имеют второстепенное значение в данном вопросе. --На данный момент, если производятся какие то изменения в КД, то конструктор должен лезть в "дебри сети" , зайти в папку производственного подразделения и там отыскать файл, чтобы отметить его некой меткой, дабы его брали в работу только после просмотра и необходимой коррекции. На сетевом диске М:\ у каждого из подразделений имеется своя папка например П1;П2 и П3., то есть путь к папкам получается такой :М:\П1 или М:\П2 или М:\П2. Возможно ли автоматизировать поиск нужного файла в нужной директории по команде из формы. В примере вобщем-то интуитивно понятно в чем суть вопроса. Сложность в том еще, что в папках П1, П2 и П3 имеется несколько десятков подпапок, нужно чтобы в них поиск тоже производился.Вот. Буду очень признателен за живой пример. Спасибо.
0
|
18.08.2017, 10:27 | |
Ответы с готовыми решениями:
65
Поиск файла в директории Поиск файла в конкретной директории Поиск файла в директории и всех вложенных подкаталогах Поиск по сигнатуре заданного файла в указанной директории |
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
|
|
18.08.2017, 13:23 [ТС] | 2 |
Изменил немного функционал в примере, теперь нужно просто поочередно в каждой из 3-х директорий проверить имя файла которое совпадает с указанным в поле [Деталь] по нажатию кнопки. Сам поискал решение, вроде как функцией Dir можно воспользоваться, вот только подойдет ли она в моем случае? Народ помогите, жизненно важно. хотя бы примерчик подобный...
0
|
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
18.08.2017, 18:31 | 3 | |||||
Сообщение было отмечено alvk как решение
Решение
Не нужны там 3 кнопки, достаточно одной. Если файл в любой из них, проверка прекращается.
В массиве path пути к папкам, измените на правильные. В строке Dir задано любое расширение файла: "*". Замените на правильное, например "xls" или "txt".
2
|
547 / 274 / 50
Регистрация: 03.04.2015
Сообщений: 926
|
|
19.08.2017, 00:08 | 4 |
Можно использовать для этой цели именно сетевой путь к диску:
\\server\Folder\*.xls тогда без разницы какой там у пользователя путь на машине
0
|
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
|
|
21.08.2017, 07:00 [ТС] | 5 |
Спасибо за ответ, есть ньюанс. Одна загвоздка, если допустим один и тот же файл используют в работе два подразделения, но файл этот находится в первом подразделении по такому пути L:\cam_mtp2, а в другом L:\cam_mtp3\Стойки, то он указывает только на первый найденный вариант., а возможно ли реализовать поиск так, чтобы были показаны эти все найденные файлы с указанием пути их нахождения, по типу поиска в Windows? Ну или хотя бы без указания пути, чтобы была возможность "пометить" их как неактуальные для производства? Это было бы самое то что нужно.
Добавлено через 3 минуты Пометить, значит просто добавить к наименованию какой то символ, или дописать в конце например "Стойка 123.123.001_изм", чтобы технолог перед запуском в работу понял, что начальный файл КД изменен и нужно изменить или полностью заменить свой файл в базе Добавлено через 7 минут mobile, вы говорите что не нужны три кнопки, но у вас поиск прекращается после 1 положительного результата, мне в моем случае нужно найти файлв каждой из этих директорий и в их подпапках и показать пользователю. Получается все таки нужны 3 кнопки. Для поиска в каждой из директорий своя кнопка?
0
|
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
21.08.2017, 08:02 | 6 | |||||
Достаточно одной кнопки
1
|
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
|
||||||
21.08.2017, 08:35 [ТС] | 7 | |||||
Не хотит все равно искать далее первого полученного результата...
вы здесь не пропустили символ ""
Добавлено через 10 минут Скажите можно ли вывести результат поиска не в виде MsgBox, а в виде окна поиска , в котором можно сразу переименовать найденный файл(ы)?
0
|
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
21.08.2017, 08:36 | 8 | |||||
Рассеяность и форум глотает слэши
2
|
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
|
|
21.08.2017, 08:39 [ТС] | 9 |
По сути если использовать MsgBox, то существующая схема работы не меняется, пользователь запускает поиск, получает сообщение, начинает идти по указанному пути к папке(ам) содержащим файл, по сути все так же и остается, разве что известен конкретный путь. Хотелось бы именно реализовать задуманное по схеме: нашел> переименовал> закрыл. Или так не получится сделать?
0
|
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
21.08.2017, 09:03 | 10 | |||||
Получится и так
1
|
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
|
|
21.08.2017, 11:01 [ТС] | 11 |
Однозначно, вариант решения хороший, но не ищет в подпапках этих директорий, файлы и там могут находится. и почему то на отмену переименования файла выдает ошибку: "Файл уже существует".
Добавлено через 1 час 9 минут Подскажите пожалуйста, как указать в коде VBA, чтобы поиск во вложенных папках тоже производился, это очень важная часть Марлезонского балета.
0
|
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
21.08.2017, 11:53 | 12 | |||||
Обойти отказ от переименования: вставьте после строки с инпутбоксом
1
|
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
|
|
21.08.2017, 12:56 [ТС] | 13 |
Три директории в корне постоянные L:\cam_mtp1(2-3), количество папок в них может увеличиваться, либо уменьшаться, каждая вложенная папка содержит три вида файлов - чертежи и файлы для обработки и использования. Общее количество файлов в папке может достигать, думаю не более 40-50. Создание папок во вложенных папках запрещено регламентом. Т.е. максимальное что может быть L:\cam_mtp1\ ZF1150 \ Стойка123.456.001.CDW - файл чертежа, Стойка123.456.001.dxf - файл для обработки, Стойка123.456.001.cp - станочный. Вот такие 3 вида файлов соответственно на все детали в папке.
Добавлено через 22 минуты ЭЭххх, еще бы понимать, как FSO сюда прикрутить... или цикл обхода Dir - ом. так глубоко я не копал еще,имею чисто поверхностное представление.
0
|
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
21.08.2017, 14:06 | 15 | |||||
Если, как Вы пишете уровень вложенности всегда 2 - папка>подпапка, то можно так:
1. Исправляем головную процедуру 2. Создаем функцию поиска и замены в подпапках
1
|
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
|
||||||
21.08.2017, 14:24 [ТС] | 16 | |||||
Спасибо за ссылку, будем изучать, да прибудет со мной сила...
Добавлено через 6 минут выдал ошибку компиляции ByRef argument tipe mismatch ругается сюда
0
|
Модератор
|
||||||
21.08.2017, 14:35 | 17 | |||||
переменная path(i) типа variant. а к заголовке функции --строка string
1
|
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
|
|
22.08.2017, 10:47 [ТС] | 18 |
И как подправить чтобы заработала ?
0
|
Модератор
|
|
22.08.2017, 10:52 | 19 |
все та жа правая МЫША
1
|
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
|
|
22.08.2017, 13:17 [ТС] | 20 |
Сообщение было отмечено mobile как решение
Решение
все загадками говорите...
1
|
22.08.2017, 13:17 | |
22.08.2017, 13:17 | |
Помогаю со студенческими работами здесь
20
Организовать поиск заданного файла в указанной директории и ее поддиректории Как сделать поиск файла в выбранной директории и открыть в мемо1 Как осуществить поиск файла во всех папках данной директории? Мониторинг файлов в сетевой директории Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Блоги программистов | |||||
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(шестибитный асихронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения
PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
|
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
|
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
|
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9
Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
|
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
wget. . .
|
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin.
Есть ещё регистры,. . .
|
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps
Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
|
Angular vs React vs Vue.js
BasicMan 03.01.2025
О, друзья-разработчики и просто любопытные читатели! Сегодня мы отправимся в увлекательное путешествие по миру фронтенд-разработки, и первой остановкой станет Angular – этакий строгий немецкий. . .
|
Сравнение микросервисов и монолита
cpp_developer 03.01.2025
Достоинства и недостатки микросервисной архитектуры
Микросервисная архитектура представляет собой современный подход к построению программных систем, где приложение разбивается на набор небольших. . .
|