Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Открыть макросом файл с переменным именем - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Открыть макросом файл с переменным именем (Макросы/Sub)
Открыть макросом файл с переменным именем
emkub Дата: Воскресенье, 21.06.2015, 15:40 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте.
Подскажите, возможно ли организовать запуск файла такого рода: C:\пользователь\21.06.15\21.06.15.xlsx
где 21.06.15 - текущая дата. Т.е. файл находится в одноимённой папке.
Необходим ежедневный запуск "вчерашнего" файла.
 
Ответить
СообщениеЗдравствуйте.
Подскажите, возможно ли организовать запуск файла такого рода: C:\пользователь\21.06.15\21.06.15.xlsx
где 21.06.15 - текущая дата. Т.е. файл находится в одноимённой папке.
Необходим ежедневный запуск "вчерашнего" файла.

Автор - emkub
Дата добавления - 21.06.2015 в 15:40
_Boroda_ Дата: Воскресенье, 21.06.2015, 15:48 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Что-то типа вот этого
[vba]
Код
    d_ = Format(Date, "\\DD.MM.YY")
      Workbooks.Open Filename:="C:\пользователь" & d_ & d_ & ".xlsx"
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЧто-то типа вот этого
[vba]
Код
    d_ = Format(Date, "\\DD.MM.YY")
      Workbooks.Open Filename:="C:\пользователь" & d_ & d_ & ".xlsx"
[/vba]

Автор - _Boroda_
Дата добавления - 21.06.2015 в 15:48
KSV Дата: Воскресенье, 21.06.2015, 16:03 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
для вчерашнего
[vba]
Код
d_ = Format(Date - 1, "\\DD.MM.YY")
[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщениедля вчерашнего
[vba]
Код
d_ = Format(Date - 1, "\\DD.MM.YY")
[/vba]

Автор - KSV
Дата добавления - 21.06.2015 в 16:03
emkub Дата: Воскресенье, 21.06.2015, 16:07 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
СПАСИБО!
Работает.
но...
запускаемый файл имеет расширение "csv" и открывается без разделения ячеек (точнее сейчас они разделены как и положено - ";"). Запуская его же просто двойным кликом, он открывается как обычный "excel".
Попробовал выполнить эту же команду не через "Workbooks.Open Filename" а через "Shell".
Ошибка...
D_ = Format(Date, "DD.MM.YY")
Y_ = Format(Date, "YYYY")
M_ = Format(Date, "MM")
Den_ = Format(Date, "DD")

Shell ("D:\6_vbn\1_Êèåâ\áàçû\" & M_ & "\" & Den_ & "\" & D_ & ".csv")
Кракозябры - это русские буквы.
 
Ответить
СообщениеСПАСИБО!
Работает.
но...
запускаемый файл имеет расширение "csv" и открывается без разделения ячеек (точнее сейчас они разделены как и положено - ";"). Запуская его же просто двойным кликом, он открывается как обычный "excel".
Попробовал выполнить эту же команду не через "Workbooks.Open Filename" а через "Shell".
Ошибка...
D_ = Format(Date, "DD.MM.YY")
Y_ = Format(Date, "YYYY")
M_ = Format(Date, "MM")
Den_ = Format(Date, "DD")

Shell ("D:\6_vbn\1_Êèåâ\áàçû\" & M_ & "\" & Den_ & "\" & D_ & ".csv")
Кракозябры - это русские буквы.

Автор - emkub
Дата добавления - 21.06.2015 в 16:07
KSV Дата: Воскресенье, 21.06.2015, 17:11 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
если вам нужно просто открыть то можно так:
[vba]
Код
Shell Application.Path & "\Excel.exe D:\6_vbn\1_Киев\базы\" & Format$(Date - 1, "yyyy\\mm\\dd\\dd.mm.yy") & ".csv"
[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщениеесли вам нужно просто открыть то можно так:
[vba]
Код
Shell Application.Path & "\Excel.exe D:\6_vbn\1_Киев\базы\" & Format$(Date - 1, "yyyy\\mm\\dd\\dd.mm.yy") & ".csv"
[/vba]

Автор - KSV
Дата добавления - 21.06.2015 в 17:11
emkub Дата: Воскресенье, 21.06.2015, 17:28 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо.
Сейчас работает, как надо. Правда открывается неактивным.
 
Ответить
СообщениеСпасибо.
Сейчас работает, как надо. Правда открывается неактивным.

Автор - emkub
Дата добавления - 21.06.2015 в 17:28
KSV Дата: Воскресенье, 21.06.2015, 18:03 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
[vba]
Код
Shell Application.Path & "\Excel.exe D:\6_vbn\1_Киев\базы\" & Format$(Date - 1, "yyyy\\mm\\dd\\dd.mm.yy") & ".csv", vbNormalFocus
[/vba]
или лучше так:
[vba]
Код
Workbooks.OpenText "D:\6_vbn\1_Киев\базы\" & Format$(Date - 1, "yyyy\\mm\\dd\\dd.mm.yy") & ".csv", DataType:=xlDelimited, Semicolon:=True
[/vba]
(подробнее: Workbooks.OpenText Method (Excel))


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333


Сообщение отредактировал KSV - Воскресенье, 21.06.2015, 18:06
 
Ответить
Сообщение[vba]
Код
Shell Application.Path & "\Excel.exe D:\6_vbn\1_Киев\базы\" & Format$(Date - 1, "yyyy\\mm\\dd\\dd.mm.yy") & ".csv", vbNormalFocus
[/vba]
или лучше так:
[vba]
Код
Workbooks.OpenText "D:\6_vbn\1_Киев\базы\" & Format$(Date - 1, "yyyy\\mm\\dd\\dd.mm.yy") & ".csv", DataType:=xlDelimited, Semicolon:=True
[/vba]
(подробнее: Workbooks.OpenText Method (Excel))

Автор - KSV
Дата добавления - 21.06.2015 в 18:03
emkub Дата: Воскресенье, 21.06.2015, 18:33 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Первый работает, второй нет.
 
Ответить
СообщениеПервый работает, второй нет.

Автор - emkub
Дата добавления - 21.06.2015 в 18:33
KSV Дата: Воскресенье, 21.06.2015, 19:14 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
второй нет

что пишет?
выложите сюда ваш файл csv (оставьте в нем несколько строк, чтоб весил немного)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщение
второй нет

что пишет?
выложите сюда ваш файл csv (оставьте в нем несколько строк, чтоб весил немного)

Автор - KSV
Дата добавления - 21.06.2015 в 19:14
wild_pig Дата: Воскресенье, 21.06.2015, 20:35 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
[vba]
Код
Workbooks.OpenText "D:\6_vbn\1_Киев\базы\" & Format$(Date - 1, "yyyy\\mm\\dd\\dd.mm.yy") & ".csv", Local:=True
[/vba]
 
Ответить
Сообщение[vba]
Код
Workbooks.OpenText "D:\6_vbn\1_Киев\базы\" & Format$(Date - 1, "yyyy\\mm\\dd\\dd.mm.yy") & ".csv", Local:=True
[/vba]

Автор - wild_pig
Дата добавления - 21.06.2015 в 20:35
emkub Дата: Понедельник, 22.06.2015, 00:29 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Раз пошла такая пьянка, опишу задачу полностью.
Есть файл ZZZ.xls с несколькими листами. На "листе 2" есть список телефонов. "Лист 1" пустой. Из этого файла макросом запускается файл XXX.csv (как описано выше) и из него нужно скопировать данные с "лист 1" и вставить их на "лист 1" файла ZZZ.
Далее макросом разбить текст по столбцам в столбце "А" и удалить дубликаты в столбце "Б". Потом, также макросом, удалить с "листа 1" номера, которые есть на "листе 2" - этот макрос уже есть :)
Как думаете, выполнимо?
Файлик *.scv прикрепляю.
К сообщению приложен файл: 19.06.15.csv (0.3 Kb)
 
Ответить
СообщениеРаз пошла такая пьянка, опишу задачу полностью.
Есть файл ZZZ.xls с несколькими листами. На "листе 2" есть список телефонов. "Лист 1" пустой. Из этого файла макросом запускается файл XXX.csv (как описано выше) и из него нужно скопировать данные с "лист 1" и вставить их на "лист 1" файла ZZZ.
Далее макросом разбить текст по столбцам в столбце "А" и удалить дубликаты в столбце "Б". Потом, также макросом, удалить с "листа 1" номера, которые есть на "листе 2" - этот макрос уже есть :)
Как думаете, выполнимо?
Файлик *.scv прикрепляю.

Автор - emkub
Дата добавления - 22.06.2015 в 00:29
KSV Дата: Понедельник, 22.06.2015, 02:08 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
опишу задачу полностью

Это действительно полная задача? Или потом, все-таки, планируется руками копировать с "Лист 1" оставшиеся после всех манипуляций телефоны (отсутствующие в вашей Базе Данных, на "Лист 2"), затем вставлять в БД ("Лист 2" или другой лист), а затем сортировать по номеру тел. или имени абонента?

Как думаете, выполнимо?

Буквально, несколькими строками кода. :)
Например, "разбить текст по столбцам" можно сразу, при открытии XXX, а не после копирования на "Лист 1" (который, как я понял, вам нужен только для тех ручных действий, которые вы описали выше, а в реальности - не нужен вообще)
[vba]
Код
Workbooks.OpenText "D:\6_vbn\1_Киев\базы\" & Format$(Date - 1, "yyyy\\mm\\dd\\dd.mm.yy") & ".csv", DataType:=xlDelimited, Semicolon:=True, Local:=True
[/vba]
Поэтому, напишите конечную цель и файлик ZZZ приложите, чтобы видеть структуру хранения данных на "Лист 2", и "не городить огород" из лишнего кода.


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщение
опишу задачу полностью

Это действительно полная задача? Или потом, все-таки, планируется руками копировать с "Лист 1" оставшиеся после всех манипуляций телефоны (отсутствующие в вашей Базе Данных, на "Лист 2"), затем вставлять в БД ("Лист 2" или другой лист), а затем сортировать по номеру тел. или имени абонента?

Как думаете, выполнимо?

Буквально, несколькими строками кода. :)
Например, "разбить текст по столбцам" можно сразу, при открытии XXX, а не после копирования на "Лист 1" (который, как я понял, вам нужен только для тех ручных действий, которые вы описали выше, а в реальности - не нужен вообще)
[vba]
Код
Workbooks.OpenText "D:\6_vbn\1_Киев\базы\" & Format$(Date - 1, "yyyy\\mm\\dd\\dd.mm.yy") & ".csv", DataType:=xlDelimited, Semicolon:=True, Local:=True
[/vba]
Поэтому, напишите конечную цель и файлик ZZZ приложите, чтобы видеть структуру хранения данных на "Лист 2", и "не городить огород" из лишнего кода.

Автор - KSV
Дата добавления - 22.06.2015 в 02:08
emkub Дата: Понедельник, 22.06.2015, 16:10 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Прикреплены оба файла.
Необходимо в файле 21.06.15_.csv разделить номера телефонов по столбцам (по символу "#") и удалить дубликаты в столбце "N". - эти задачи сейчас выполняются стандартными функциями.
Конечная цель - удалить из 21.06.15_.csv все строки с телефонами, которые есть в Тест.xls (сравнение только по одному столбцу).
В файле Тест.xls уже есть макрос удаления строк.
К сообщению приложен файл: 0030620.xls (81.5 Kb) · 21.06.15_.csv (28.7 Kb)
 
Ответить
СообщениеПрикреплены оба файла.
Необходимо в файле 21.06.15_.csv разделить номера телефонов по столбцам (по символу "#") и удалить дубликаты в столбце "N". - эти задачи сейчас выполняются стандартными функциями.
Конечная цель - удалить из 21.06.15_.csv все строки с телефонами, которые есть в Тест.xls (сравнение только по одному столбцу).
В файле Тест.xls уже есть макрос удаления строк.

Автор - emkub
Дата добавления - 22.06.2015 в 16:10
Manyasha Дата: Понедельник, 22.06.2015, 16:59 | Сообщение № 14
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
emkub, я не поняла: начальная задача "открыть файл с переменным именем" решена?
Если нет, то напишите в каком макросе из Ваших должно происходить открытия файла, и что именно не нравится в предложенных Вам способах.
Если да, то для остальных задач создавайте другие темы.


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеemkub, я не поняла: начальная задача "открыть файл с переменным именем" решена?
Если нет, то напишите в каком макросе из Ваших должно происходить открытия файла, и что именно не нравится в предложенных Вам способах.
Если да, то для остальных задач создавайте другие темы.

Автор - Manyasha
Дата добавления - 22.06.2015 в 16:59
emkub Дата: Понедельник, 22.06.2015, 17:03 | Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Да, Manyasha, первоначальная задача решена. Даже несколькими способами.
Но, если я правильно понял, есть разница, как открывать файл, в зависимости от того, что с ним дальше делать.
Поэтому и дописал конечную цель, как просили выше.
 
Ответить
СообщениеДа, Manyasha, первоначальная задача решена. Даже несколькими способами.
Но, если я правильно понял, есть разница, как открывать файл, в зависимости от того, что с ним дальше делать.
Поэтому и дописал конечную цель, как просили выше.

Автор - emkub
Дата добавления - 22.06.2015 в 17:03
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Открыть макросом файл с переменным именем (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!