|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.01.2021, 11:38 | #1 |
Пользователь
Регистрация: 30.11.2020
Сообщений: 36
|
запуск макроса при определенном имени файла
Добрый день. Есть такая проблема. Ежедневно получаем файл с названием "остатки 01.01.2021", где имя файла неизменно, а дата постоянно меняется. Есть макрос, которой называется - "загрузка остатков". Нужно, чтобы макрос перед выполнением проверил, что в названии файла есть слово -"остатки" (не обращая внимания на дату. И если в название есть слово "остатки" - запустился, а если нет, то написал - ошибка. Понимаю, что скорее всего задача не очень сложная, но своих мозгов не хватает а то что нашел в интернете, не работает
Помогите)))) |
21.01.2021, 12:34 | #2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
21.01.2021, 15:22 | #3 |
Пользователь
Регистрация: 30.11.2020
Сообщений: 36
|
Все гениальное просто
Спасибо огромное |
21.01.2021, 21:01 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
ровно до того момента когда кто-то решить назвать файл "Остатки 21.01.2021"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
21.01.2021, 21:09 | #5 | |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Цитата:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
|
22.01.2021, 12:42 | #6 |
Пользователь
Регистрация: 30.11.2020
Сообщений: 36
|
Файлы создаются руками. И конечно есть вероятность, что девочка сохранит его как "Остатки 20.01.21 или даже "Астатки". Это не страшно, если работать не будет, я разберусь. Тут проблема была, что девчонки ежедневно получают четыре файла "Деньги, остатки, товар, клиенты" и ЕЖЕДНЕВНО их редактируют руками. (удаляют лишнее, вставляют данные итд). Я работаю тут менеджером и скажу честно - макросы не мой конек, но решил немного облегчить им жизнь. Так вот они все равно могут открыть файл "остатки 21.01.2021", а запустить макрос "деньги", а потом бегают и кричат, что все сломалось. Вот и появилась идея, доработать макрос, чтобы он не запускался, если имя файла не совпадает с его названием. Возможно нужно было поступить иначе. Сделать кнопку, которая запускала бы макрос в зависимости от того, какой файл открыт. Но это пока для меня "темный лес". Но по любому, я на этом учусь, за что очень благодарен.
|
22.01.2021, 13:42 | #7 | |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Цитата:
пишем код в отдельном модуле и вуаля Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
|
22.01.2021, 14:22 | #8 |
Пользователь
Регистрация: 30.11.2020
Сообщений: 36
|
Александр, Вы меня просто спасли!!!!!!!!!!!!!!
Спасибо огромное!!!!!!!!!!!!!! В понедельник буду пробовать и если это заработает ( в чем я не сомневаюсь), буду учить своих девчонок.) Спасибо)))))))))) |
25.01.2021, 13:08 | #9 |
Пользователь
Регистрация: 30.11.2020
Сообщений: 36
|
Александр, добрый день.
Выручайте.. Работаю с Вашим макросом. Банальная ошибка, но не понимаю откуда ноги растут. Чтобы не "ломать" свои макросы, я создал 3 файлика с именами "Слава, Петя, Дима" и написал три маленьких макроса с подобными именами. Но при запуске пишет ошибка. Скриншот во вложении. При этом, если запустить макрос из "разработчика", то проблем нет. Sub SelectSubroutines() Dim Filename As String Dim macroName As String Filename = LCase(ActiveWorkbook.Name) If InStr(Filename, "Дима") = 1 Then macroName = "Sub Дима" ElseIf InStr(Filename, "Слава") = 1 Then macroName = "Sub Слава" ElseIf InStr(Filename, "Паша") = 1 Then macroName = "Sub Паша" End If Application.Run macroName End Sub Sub Дима() Debug.Print 1 End Sub Sub Слава() Debug.Print 2 End Sub Sub Паша() Debug.Print 3 End Sub Понимаю, что туплю Не могу понять, где |
25.01.2021, 17:53 | #10 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
ваш макрос валится на строке
Application.Run macroName потому что имя файла не содержало ни одно из имен и macroName после всех проверок = "" соотв.: Application.Run "" - не знает что с этим делать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запуск исполняемого файла из макроса | caute | Microsoft Office Word | 4 | 06.03.2016 20:28 |
Снять привязку макроса к имени файла | Lamo | Microsoft Office Excel | 6 | 02.08.2013 11:56 |
Выполнение макроса при определенном значении параметра | vanandr91 | Microsoft Office Excel | 7 | 27.02.2012 23:10 |
Запуск макроса при открытии файла | ПавелАлександрович | Microsoft Office Excel | 4 | 04.03.2011 10:07 |
Выполнения макроса(с подстановкой имени) при условии ячейки... | MaxZoa | Microsoft Office Excel | 7 | 22.04.2008 11:08 |