|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.09.2010, 15:16 | #1 |
Пользователь
Регистрация: 22.09.2010
Сообщений: 14
|
Макрос - Открытие найденого файла по части имени
Помогите чайнику. Пытаюсь написать макрос поиска файла в определенной папке (и под каталогах) по части имени и последующего его открытия. Пытаюсь написать так:
ChDir "D:\Forma_1" Set fs = Application.FileSearch fs.NewSearch fs.LookIn = "D:\Forma_1" fs.SearchSubFolders = True fs.Filename = "1 форма ** 10.xls" ** - могут быть 08 или 09 и тд. fs.Execute If fs.Execute() > 0 Then (КАК ЗДЕСЬ ПРОПИСАТЬ ОТКРЫТИЕ НАЙДЕНОГО ФАЙЛА) Else MsgBox "Файл `1 форма` не найден" End Sub Или подскажите как по другому это можно сделать. |
24.09.2010, 15:34 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Application.FileSearch лучше не использовать - он не работает в Excel 2007
Попробуйте так: Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 24.09.2010 в 15:36. |
24.09.2010, 15:40 | #3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Чтобы искать и в подпапках тоже, используйте эту функцию: http://excelvba.ru/code/FilenamesCollection
Код будет выглядеть так: Код:
|
27.09.2010, 13:26 | #4 |
Пользователь
Регистрация: 22.09.2010
Сообщений: 14
|
Примного благодарен, как раз то что нужно.
Еще один маленький вопрос. При выполнении макроса вставляя данные из одного файла в другой появлется MsgBox "Заменить содержимое конечных ячеек?" и остановливает выполнение макроса пока не нажмешь "ОК". Как написать чтоб в таком случае макрос выбирал "ОК" автоматом? И еще, возможно ли прописать так, чтобы при появлении ЛЮБОГО MsgBox автоматом нажималось "Ок", или "Cancel" или просто "Escape"?? |
27.09.2010, 15:17 | #5 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
В начало макроса ставите запрет вывода лишних вопросов и предупреждений:
Код:
|
27.09.2010, 16:15 | #6 |
Пользователь
Регистрация: 22.09.2010
Сообщений: 14
|
Спасибо))))
|
05.11.2015, 21:06 | #7 | |
Новичок
Джуниор
Регистрация: 05.11.2015
Сообщений: 3
|
Цитата:
Уважаемый модератор, В Вашем ответе 24.09.2010, 14:16 LLIaMaH'у следующая строка файл = Dir(папка & "1 форма ?? 10.xls") выглядит вроде правильно и мне понятно, что должно работать, но... у меня (Access 2007), VBA, модуль - не работает. Попробую объяснить. У меня "идея фикс" написать открытие файла ("по уникальной части имени") просто, без большого кода, дополнительных переменных и именно с помощью DIR(). Далее - я не хочу связываться ни с какими диалогами открытия такого файла или с хранением папки, части имени файла, расширением и т.п. в таблице. У меня функция Dir() выглядит примерно так: файл = Dir(CurrentProject.Path & Me![поле1].Value & Me![поле2].Value & Me![поле3].Value & "*.bmp") Access говорит, что не может открыть файл x:\папка проекта\BMP\ПравильнаяЧастьИмени*.b mp т.е. в сообщении access'а четко написана * И, хотя, как видите, у меня написано вроде бы так же, как в Вашем примере - Подскажите, пожалуйста, как сделать эту * не звездочкой, а маской. |
|
05.11.2015, 22:17 | #8 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
если "ПравильнаяЧастьИмени"
является не Правильной Частью Имени то именно такое сообщение Вы и получите модератор тут не при чем присмотритесь к тому, что Вы пишете
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 06.11.2015 в 01:39. |
06.11.2015, 01:14 | #9 | ||
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Цитата:
Сама функция Dir не может вызвать сообщение об ошибке открытия файла, т.к. не открывает файл. И проверьте, не в песочнице ли Вы Цитата:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
||
08.11.2015, 19:39 | #10 | |
Новичок
Джуниор
Регистрация: 05.11.2015
Сообщений: 3
|
Звездочка...
Цитата:
ПравильнаяЧастьИмени - правильна и проверена в окне значений. Я, пардон, о другом и, по-моему, очень конкретно - я о звездочке. которую нужно написать как-то иначе - вот о чем вопрос. Кусок кода, конечно. могу выложить и сделаю это, но нельзя ли получить хоть какой-то ответ по поводу звездочки?.. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос, запускающий макрос из другого закрытого файла | petruha | Microsoft Office Excel | 7 | 14.03.2010 11:31 |
макрос на открытие базы | ruavia3 | Microsoft Office Access | 3 | 28.08.2009 02:04 |
Открытие файла и создание графика на основе чисел из файла | Simon..14 | Общие вопросы C/C++ | 8 | 09.06.2009 10:18 |
Копирование имени файла | greengeneral | Общие вопросы Delphi | 3 | 10.09.2007 14:11 |
Массив в имени файла | LeoN | Общие вопросы Delphi | 3 | 01.01.2007 14:24 |