powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / не найден файл при переборе книг excel в цикле
12 сообщений из 12, страница 1 из 1
не найден файл при переборе книг excel в цикле
    #38852223
jediAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Подскажите пожалуйста, что делаю не так...Есть много файлов excel 2013(xls). файлы одной структуры. Задача стоит в том, чтобы со всех файлов в один результирующий выбрать нужные данные. Все файлы лежат в одной папке -в этой же папке я сделал файл, куда все надо выгружать. В итоговом файле добавил кнопку и написал код для неё:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub Кнопка1_Щелчок()
Dim wb As Workbook
Dim Sh As Worksheet
Dim i As Integer
fnames = Array("Книга1", "Книга2", "Книга3", "Книга4")
i = 1
For Each fnam In fnames
 
          Set wb = Workbooks.Open(ActiveWorkbook.Path & "\" & fnam & ".xls")
          Set Sh = wb.Sheets(1)
          Sh.Select
    Sheets(1).Cells(i, 1) = Sh.Cells(2, 3)
    i = i + 1
Next
End Sub


Проблема появилась такая: когда пытаюсь выполнить, выдается сообщение: " К сожалению нам не удалось найти файл D:\папка1\книга1.xls. Возможно, он был перемещен, переименован или удален?" файл точно есть и путь выводится тот ,который должен быть... что не так?
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852249
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jediAlex, поставьте проверку, что имя файла не равно итоговому (авторв этой же папке я сделал файл, куда все надо выгружать). Скорее всего в цикле идет обращение к файлу, в котором макрос, а он уже открыт, вот и ошибка
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852254
jediAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot, а как быть, если в исходных файлах макросы? прочитать данные очень надо((( а имена файлов, с которых нужно читать,я в массив загоняю, чтоб перебрать по именам... результирующий я в этот массив конечно не помещаю
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852261
jediAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ругается на строку
Код: vbnet
1.
Set wb = Workbooks.Open(ActiveWorkbook.Path & "\" & fnam & ".xls")


все файлы закрыты, кроме того, откуда код запускаю...результирующий файл , из которого запускается макрос, в цикле не участвует...перебираю только массив заданных файлов...
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852264
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
MsgBox Dir(ActiveWorkbook.Path & "\" & fnam & ".xls")



что покажет?
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852273
jediAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
MsgBox Dir(ActiveWorkbook.Path & "\" & fnam & ".xls")

- попробовал. выводятся пустые окна сообщений...
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852281
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так нет таких файлов значит в той директории
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852283
jediAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не понимаю, как нет, если все файлы в одной директории лежат?
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852288
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jediAlexне понимаю, как нет, если все файлы в одной директории лежат?

нам отсюда не видно что у вас там и где лежит

вот это выполните:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub Кнопка1_Щелчок()
Dim wb As Workbook
Dim Sh As Worksheet
Dim i As Integer
fnames = Array("Книга1", "Книга2", "Книга3", "Книга4")


MsgBox CurDir

For Each fnam In fnames
  
   MsgBox ActiveWorkbook.Path & vbCrLf & fnam

Next

End Sub
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852327
jediAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub Кнопка1_Щелчок()
Dim wb As Workbook
Dim Sh As Worksheet
Dim i As Integer
fnames = Array("Бухгалтерия_Гаврикова_О_М", "Бухгалтерия_Гребенюк Е.В.", "Бухгалтерия_Посадская И.В.", "Бухгалтерия_Усков А.В.")


MsgBox CurDir

For Each fnam In fnames
  
   MsgBox ActiveWorkbook.Path & vbCrLf & fnam

Next

End Sub


выполнил такой код. Вот что получил:
"D:\ОценочныеВедомости"
"D:\ОценочныеВедомости\Бухгалтерия_Гаврикова_О_М"
"D:\ОценочныеВедомости\Бухгалтерия_Гребенюк Е.В."
"D:\ОценочныеВедомости\Бухгалтерия_Посадская И.В.", "
"D:\ОценочныеВедомости\Бухгалтерия_Усков А.В." все пути найдены...
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852340
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отлично
а теперь запустите cmd.exe и перейдите в каталог D:\ОценочныеВедомости
и наберите
D:\ОценочныеВедомости> dir *.xls
...
Рейтинг: 0 / 0
не найден файл при переборе книг excel в цикле
    #38852356
jediAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мда((( ступил по-крупному...расширение то xlsx должно быть, а не xls...вот тут вся собака и порылась....спасибо всем за помощь
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / не найден файл при переборе книг excel в цикле
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]