Доброго времени суток, форумчане. Помогите решить проблему? Обновляю связи через ActiveWorkbook.RefreshAll. В параметрах связей стоит запрашивать имя каждый раз, т.к. имена файлов меняются в зависимости от даты. Файлы имеют формат, например, 29062015_7777 или 29062015_5440. В одной папке лежит много файлов с разными датами. Можно ли сделать так, чтобы excel автоматически выбирал нужный файл, беря начало имени из ячейки. Т.е. если в ячейке будет написано 29062015, то файл автоматически выберет 29062015_7777? Заранее спасибо!)
Доброго времени суток, форумчане. Помогите решить проблему? Обновляю связи через ActiveWorkbook.RefreshAll. В параметрах связей стоит запрашивать имя каждый раз, т.к. имена файлов меняются в зависимости от даты. Файлы имеют формат, например, 29062015_7777 или 29062015_5440. В одной папке лежит много файлов с разными датами. Можно ли сделать так, чтобы excel автоматически выбирал нужный файл, беря начало имени из ячейки. Т.е. если в ячейке будет написано 29062015, то файл автоматически выберет 29062015_7777? Заранее спасибо!)jurafenix
Это можно сделать при открытии книги, по изменению листа, по кнопке .... Именно для этого и нужны примеры. И еще раз повторю :"На общий вопрос был дан общий ответ. Дальше см. П.3 правил форума
Это можно сделать при открытии книги, по изменению листа, по кнопке .... Именно для этого и нужны примеры. И еще раз повторю :"На общий вопрос был дан общий ответ. Дальше см. П.3 правил форума SLAVICK
Иногда все проще чем кажется с первого взгляда.
Сообщение отредактировал SLAVICK - Вторник, 30.06.2015, 08:52
Вот и сам файл)) Извините, что с задержкой)) Просто файл используется для обработки банковской инфы, поэтому все данные нужно было стереть(( Но сами макросы на месте) На каждом листе по источнику данных))
Заранее спасибо за участие)
Вот и сам файл)) Извините, что с задержкой)) Просто файл используется для обработки банковской инфы, поэтому все данные нужно было стереть(( Но сами макросы на месте) На каждом листе по источнику данных))
Да какая разница, как они создаются? И зачем данные менять? Просто создайте новый файл, скопируйте туда Ваши данные с заменой секретных данных на что-нибудь и сохраните под таким же именем, как и файл источник. И приложите сюда. Иначе не понятно, что у Вас не работает.
Да какая разница, как они создаются? И зачем данные менять? Просто создайте новый файл, скопируйте туда Ваши данные с заменой секретных данных на что-нибудь и сохраните под таким же именем, как и файл источник. И приложите сюда. Иначе не понятно, что у Вас не работает.Макрописец
Да какая разница, как они создаются? И зачем данные менять? Просто создайте новый файл, скопируйте туда Ваши данные с заменой секретных данных на что-нибудь и сохраните под таким же именем, как и файл источник. И приложите сюда. Иначе не понятно, что у Вас не работает.
Вси имена файлов в формате дата_4440 ил дата_7777. Я вечером скину примеры) Всё работает, но каждый раз, формируя отчё, мне приходится вручную выбирать файл с названиями "заданная дата_4440" и "заданная дата_7777". Вот примеры имен: 01042015 01042015_4440 01042015_7777 01012015. В принципе, название обновляемых источников и из каких папок берутся можно посмотреть в самом файле. Вкладка данные - Подключения - там будет 6 подключений. На каждом подключении, можно нажать кнопку свойства - вкладка определение. И там есть строка "Файл подключения", в которой и можно увидеть название файла и откуда он берётся. Но суть в том, что мне требуется, чтобы имя файла выбиралось автоматически и дата определялась из какой-нибудь ячейки)
Да какая разница, как они создаются? И зачем данные менять? Просто создайте новый файл, скопируйте туда Ваши данные с заменой секретных данных на что-нибудь и сохраните под таким же именем, как и файл источник. И приложите сюда. Иначе не понятно, что у Вас не работает.
Вси имена файлов в формате дата_4440 ил дата_7777. Я вечером скину примеры) Всё работает, но каждый раз, формируя отчё, мне приходится вручную выбирать файл с названиями "заданная дата_4440" и "заданная дата_7777". Вот примеры имен: 01042015 01042015_4440 01042015_7777 01012015. В принципе, название обновляемых источников и из каких папок берутся можно посмотреть в самом файле. Вкладка данные - Подключения - там будет 6 подключений. На каждом подключении, можно нажать кнопку свойства - вкладка определение. И там есть строка "Файл подключения", в которой и можно увидеть название файла и откуда он берётся. Но суть в том, что мне требуется, чтобы имя файла выбиралось автоматически и дата определялась из какой-нибудь ячейки)jurafenix
То есть я правильно понял, что файлы у Вас называются: 01042015_4440.xls; 01042015_7777.xls и т.д.? И нельзя ли изменить название файлов на: 4440_01042015.xls; 7777_01042015.xls
То есть я правильно понял, что файлы у Вас называются: 01042015_4440.xls; 01042015_7777.xls и т.д.? И нельзя ли изменить название файлов на: 4440_01042015.xls; 7777_01042015.xlsМакрописец
ТЕРПЕНИЕ И ТРУД - ВСЁ ПЕРЕТРУТ!
Сообщение отредактировал Макрописец - Среда, 01.07.2015, 11:30
То есть я правильно понял, что файлы у Вас называются: 01042015_4440.xls; 01042015_7777.xls и т.д.? И нельзя ли изменить название файлов на: 4440_01042015.xls; 7777_01042015.xls
Названия файлов: 01042015.txt 01042015_4440.txt 01042015_7777.txt 01012015.txt Предлагаемый вами вариант названия файлов возможен)
То есть я правильно понял, что файлы у Вас называются: 01042015_4440.xls; 01042015_7777.xls и т.д.? И нельзя ли изменить название файлов на: 4440_01042015.xls; 7777_01042015.xls
Названия файлов: 01042015.txt 01042015_4440.txt 01042015_7777.txt 01012015.txt Предлагаемый вами вариант названия файлов возможен)jurafenix
jurafenix, И вот в таких: 01012015. названиях уберите точку.
А так полный код написать не могу, но если будет мой вариант названия (не важно расширение тхт или хлс), то начать код можно так: [vba]
Код
Sub DateFiles1() Dim NameTXTM1 As String 'Имя открываемого файла с расширением Dim Name1 As String 'Имя открываемого файла без расширения Dim NameTXTM0 As String 'Имя предыдущего файла с расширением Dim NameFull0 As String 'Полное имя предыдущего файла с расширением Dim Name0 As String 'Имя предыдущего файла без расширения Dim dtName As Date 'Дата для преобразования (для вычитания 1) Dim intLenght As Integer 'Длина имени открываемого файла с расширением
'Определение имени текущего (открываемого) файла и преобразование его в дату. NameXLSM1 = ActiveWorkbook.Name intLenght = Len(NameTXTM1) Name1 = Left(NameTXTM1, intLenght - 4) ' Отсекает 4 знака справа dtName = CDate(Name1)
[/vba] а дальше добавить отсечение слева 5 знаков (например, 4440_) при условии наличия нижней чёрточки, а потом сделать поиск и перебор всех файлов с названиями, включающими в себя 4440_(или др. вариант)+полученную в части кода выше этого предложения дату+расширение файла (так и пишется в макросе - и макрос сам собирает имя файла) и обновление ссылок на них в текущей книге.
jurafenix, И вот в таких: 01012015. названиях уберите точку.
А так полный код написать не могу, но если будет мой вариант названия (не важно расширение тхт или хлс), то начать код можно так: [vba]
Код
Sub DateFiles1() Dim NameTXTM1 As String 'Имя открываемого файла с расширением Dim Name1 As String 'Имя открываемого файла без расширения Dim NameTXTM0 As String 'Имя предыдущего файла с расширением Dim NameFull0 As String 'Полное имя предыдущего файла с расширением Dim Name0 As String 'Имя предыдущего файла без расширения Dim dtName As Date 'Дата для преобразования (для вычитания 1) Dim intLenght As Integer 'Длина имени открываемого файла с расширением
'Определение имени текущего (открываемого) файла и преобразование его в дату. NameXLSM1 = ActiveWorkbook.Name intLenght = Len(NameTXTM1) Name1 = Left(NameTXTM1, intLenght - 4) ' Отсекает 4 знака справа dtName = CDate(Name1)
[/vba] а дальше добавить отсечение слева 5 знаков (например, 4440_) при условии наличия нижней чёрточки, а потом сделать поиск и перебор всех файлов с названиями, включающими в себя 4440_(или др. вариант)+полученную в части кода выше этого предложения дату+расширение файла (так и пишется в макросе - и макрос сам собирает имя файла) и обновление ссылок на них в текущей книге.Макрописец
ТЕРПЕНИЕ И ТРУД - ВСЁ ПЕРЕТРУТ!
Сообщение отредактировал Макрописец - Среда, 01.07.2015, 11:50
Ой, точнее подключений 6)) Во вкладке Данные - Подключения. Всего 6 источников) Причем существует две пары файлов с одинаковыми названиями, но в разных папках) Тут всё хитро работает, но увы эти файлы приходится копировать вручную((
Ой, точнее подключений 6)) Во вкладке Данные - Подключения. Всего 6 источников) Причем существует две пары файлов с одинаковыми названиями, но в разных папках) Тут всё хитро работает, но увы эти файлы приходится копировать вручную((jurafenix