Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
bena
1

Как найти файл с определенным именем, если последние символы имени могут меняться

13.01.2014, 17:20. Показов 1375. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, помогите, пожалуйста, написать код для кнопки.

Задача такая: Есть два файла Excel, необходимо перенести данные или одного файла в другой. Как скопировать сам диапазон я знаю, вопрос в том, чтобы бы определить ресурсный файл, из которого нужно перенести данные.

Этот файл всегда открыт, но имя файла может меняться. Первые два слова названия файла остаются неизменными, например, имя файла может быть "Report Result", "Report Result (1)", "Report Result (2)" и т.д. Т.е., искать файл нужно по первым двум словам, мне кажется. Но как это сделать в VBA, я не знаю.

Подскажите, пожалуйста, кто понимает.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2014, 17:20
Ответы с готовыми решениями:

Через Ексель Открыть файл ВОРД и сохранить файл под определенным именем
Открываю через ексель файлы ворд и выполняю макрос ворд, но не получается сохранить файл под...

Найти файл с определенным разрешением, если есть путь: D:\prog\work\pr
2)Найти файл с определенным разрешением, если есть путь: D:\prog\work\pr.txt

Запись в файл с определенным именем
Доброго времени суток!! Нужна помощь с созданием файла с определенным именем, а именно дело...

Outlook не сохраняет файл с определенным именем
Здравствуйте. В общем проблема следующая: каждый день рассылаются выгрузки 1С, имеют они...

1
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
13.01.2014, 17:37 2
Например так. Перебираем все файлы в нужной папке. Если первые 13 символов имени файла Report Result тогда открываем файл, делаем что надо, закрываем.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Dim oFolder As IWshRuntimeLibrary.Folder
    Dim oSubFolder As IWshRuntimeLibrary.Folder
    Dim oFile As IWshRuntimeLibrary.File
    Dim oFSO As New IWshRuntimeLibrary.FileSystemObject
 
Set oFolder = oFSO.GetFolder("Путь к папке")
 
For Each oFile In oFolder.Files
     if Left(oFile.Name, 13) like "Report Result" then
          Workbooks.Open (oFolder & "\" & oFile.Name)
          'копируем что надо
          Workbooks(oFile.Name).Close
     End If
Next
А если файл всегда открыт на машине, на которой выполняем макрос, то совсем просто. Перебираем открытые книги. Как в прошлый раз находим Report Result, копируем, выходим из цикла
Visual Basic
1
2
3
4
5
6
For Each Workbook In Excel.Workbooks
     if Left(Workbook.Name, 13) like "Report Result" then
          'копируем что надо
          Exit For
     End If
Next
И если этих Report Results несколько, не пишем Exit For
0
13.01.2014, 17:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2014, 17:37
Помогаю со студенческими работами здесь

Если S является допустимым именем файла, то создать пустой файл с именем и вывести True
Дана строка S. Если S является допустимым именем файла, то создать пустой файл с этим именем и...

Если S является допустимым именем файла, то создать пустой файл с именем и вывести True
помогите решить. срочно надо сегодня сдавать. Дана строка S. Если S является допустимым именем...

Если строка является допустимым именем файла, то создать пустой файл с этим именем
Помогите решить Дана строка S. Если S является допустимым именем файла, то создать пустой файл с...

Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла
Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru