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

 

= Мир MS Excel/Не удалось найти файл - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Не удалось найти файл
borus Дата: Среда, 25.01.2017, 15:40 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

2007
Здравствуйте!

Создал файл Эксель, в единственном модуле которого написан код

, призванный открывать файлы в папке по заданной маске.
Исполнение кода останавливается сообщением, что не удалось найти файл "Бланк наряда.xls", хотя он по указанному в Cells(2, 2) пути присутствует.
Скажите, пожалуйста, в чем ошибка?
К сообщению приложен файл: 5368823.zip (13.0 Kb)


желаю вам счастья

Сообщение отредактировал borus - Среда, 25.01.2017, 16:36
 
Ответить
СообщениеЗдравствуйте!

Создал файл Эксель, в единственном модуле которого написан код

, призванный открывать файлы в папке по заданной маске.
Исполнение кода останавливается сообщением, что не удалось найти файл "Бланк наряда.xls", хотя он по указанному в Cells(2, 2) пути присутствует.
Скажите, пожалуйста, в чем ошибка?

Автор - borus
Дата добавления - 25.01.2017 в 15:40
bmv98rus Дата: Среда, 25.01.2017, 16:27 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
borus,

Попробуйте заключить в ковычки

        Workbooks.Open Filename:="""" & doc & """"



Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Среда, 25.01.2017, 17:09
 
Ответить
Сообщениеborus,

Попробуйте заключить в ковычки
[vba]
        Workbooks.Open Filename:="""" & doc & """"
[/vba]

Автор - bmv98rus
Дата добавления - 25.01.2017 в 16:27
Alex_ST Дата: Среда, 25.01.2017, 16:51 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Файл с макросами скачать с работы не могу...
Но на взгляд: чему равно doc ?
Если это именованный диапазон, то обращение к нему не правильное.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеФайл с макросами скачать с работы не могу...
Но на взгляд: чему равно doc ?
Если это именованный диапазон, то обращение к нему не правильное.

Автор - Alex_ST
Дата добавления - 25.01.2017 в 16:51
bmv98rus Дата: Среда, 25.01.2017, 17:07 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Alex_ST,
это Collection . набирают через Scripting.FileSystemObject ну я предположил, что пробелы при открытии гадят,

borus,
а на самом деле там имя файла, но не полный путь.

изменить fil.name на fil или fil.path

        For Each fil In curfold.Files    ' ïåðåáèðàåì âñå ôàéëû â ïàïêå FolderPath
            If fil.Name Like "*" & Mask Then FileNamesColl.Add fil
        Next



Во только зачем всех напрягать и тут и там


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Среда, 25.01.2017, 17:43
 
Ответить
СообщениеAlex_ST,
это Collection . набирают через Scripting.FileSystemObject ну я предположил, что пробелы при открытии гадят,

borus,
а на самом деле там имя файла, но не полный путь.

изменить fil.name на fil или fil.path
[vba]
        For Each fil In curfold.Files    ' ïåðåáèðàåì âñå ôàéëû â ïàïêå FolderPath            If fil.Name Like "*" & Mask Then FileNamesColl.Add fil        Next
[/vba]

Во только зачем всех напрягать и тут и там

Автор - bmv98rus
Дата добавления - 25.01.2017 в 17:07
Alex_ST Дата: Среда, 25.01.2017, 21:49 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Цитата Alex_ST, 25.01.2017 в 16:51, в сообщении № 3 ( писал(а)):
чему равно doc ?
Цитата bmv98rus, 25.01.2017 в 17:07, в сообщении № 4 ( писал(а)):
это Collection . набирают через Scripting.FileSystemObject
borus, работали бы с Option Explicit - намного меньше вопросов возникало бы.
А вообще-то стиль программирования и код знакомые ...
О! Точно, у Игоря (EducatedFool) ЗДЕСЬ списано.
И при этом никаких ссылок на первоисточник в файле нет >(
Вот там, где взяли и надо спрашивать, почему позаимствованное не работает так, как Вам надо.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Цитата Alex_ST, 25.01.2017 в 16:51, в сообщении № 3 ( писал(а)):
чему равно doc ?
Цитата bmv98rus, 25.01.2017 в 17:07, в сообщении № 4 ( писал(а)):
это Collection . набирают через Scripting.FileSystemObject
borus, работали бы с Option Explicit - намного меньше вопросов возникало бы.
А вообще-то стиль программирования и код знакомые ...
О! Точно, у Игоря (EducatedFool) ЗДЕСЬ списано.
И при этом никаких ссылок на первоисточник в файле нет >(
Вот там, где взяли и надо спрашивать, почему позаимствованное не работает так, как Вам надо.

Автор - Alex_ST
Дата добавления - 25.01.2017 в 21:49
bmv98rus Дата: Среда, 25.01.2017, 22:15 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Оффтоп:
Alex_ST,
Спокойнее :-). Все "тырят", целиком или адаптируют. Уж незнаю как Option Explicit бы спасло, но просто Filename , FullFileName , Path порой могут запутать, а уж когда код не свой, так тем более не понять, что есть что.

Лучше посмотрите это что-то мне подсказывает что можете помочь и мне пояснить.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение[offtop] Alex_ST,
Спокойнее :-). Все "тырят", целиком или адаптируют. Уж незнаю как Option Explicit бы спасло, но просто Filename , FullFileName , Path порой могут запутать, а уж когда код не свой, так тем более не понять, что есть что.

Лучше посмотрите это что-то мне подсказывает что можете помочь и мне пояснить.[/offtop]

Автор - bmv98rus
Дата добавления - 25.01.2017 в 22:15
Wasilich Дата: Четверг, 26.01.2017, 00:34 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Цитата borus, 25.01.2017 в 15:40, в сообщении № 1 ( писал(а)):
Скажите, пожалуйста, в чем ошибка?
VBA не желает открывать файлы, имена которых содержат пробелы. В соответствии с вашим примером, так должно работать.

Sub ОткрытьФайл()
    Fail$ = "" & Cells(2, 2) & "\Бланк наряда.xls" & ""
    If Dir(Fail) <> "" Then
    Workbooks.Open Filename:=Fail
    Else
    MsgBox "Не найден!"
    End If
End Sub

 
Ответить
Сообщение
Цитата borus, 25.01.2017 в 15:40, в сообщении № 1 ( писал(а)):
Скажите, пожалуйста, в чем ошибка?
VBA не желает открывать файлы, имена которых содержат пробелы. В соответствии с вашим примером, так должно работать.
[vba]
Sub ОткрытьФайл()    Fail$ = "" & Cells(2, 2) & "\Бланк наряда.xls" & ""    If Dir(Fail) <> "" Then       Workbooks.Open Filename:=Fail    Else       MsgBox "Не найден!"    End IfEnd Sub
[/vba]

Автор - Wasilich
Дата добавления - 26.01.2017 в 00:34
Alex_ST Дата: Четверг, 26.01.2017, 09:07 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Цитата bmv98rus, 25.01.2017 в 22:15, в сообщении № 6 ( писал(а)):
Уж незнаю как Option Explicit бы спасло, но просто Filename , FullFileName , Path порой могут запутать, а уж когда код не свой, так тем более не понять, что есть что
как раз применение Option Explicit совместно с заданием не только переменных, но и их типов (при наличии возможности) и позволит не допустить глупых ошибок при вводе имён переменных и как следствие - избежать случаев, когда процедура работает, но даёт совершенно не те результаты, на которые Вы рассчитывали.
Конечно, ассы класса уважаемого Игоря (EducatedFool) могут позволить себе не использовать Option Explicit. Зато имена, которые он даёт переменным в своих процедурах всегда осмысленны и зачастую позволяют читать код с листа. В этом он без сомнения учитель многих "писателей". Ну как можно запутаться, например, в именах Filename , FullFileName , Path если даже при простом прочтении становится ясно, какова их размерность и что в них хранится?
Но пытаться адаптировать чужой код, не понимая как он работает, не декларируя Option Explicit и, соответственно, не будучи уверенным в том, что Ваши процедуры получат от чужих именно то, на обработку чего они "заточены"… killed
Оффтоп:
Цитата bmv98rus, 25.01.2017 в 22:15, в сообщении № 6 ( писал(а)):
Лучше посмотрите это
bmv98rus, вообще-то я смотрю только то, что меня интересует, а советы даю только о том, в чём достаточно уверен.
Да и к тому же программирую только "для души", на работе в свободное время, а с работы файлы с макросами скачать не могу. Дома - только домашние дела.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Цитата bmv98rus, 25.01.2017 в 22:15, в сообщении № 6 ( писал(а)):
Уж незнаю как Option Explicit бы спасло, но просто Filename , FullFileName , Path порой могут запутать, а уж когда код не свой, так тем более не понять, что есть что
как раз применение Option Explicit совместно с заданием не только переменных, но и их типов (при наличии возможности) и позволит не допустить глупых ошибок при вводе имён переменных и как следствие - избежать случаев, когда процедура работает, но даёт совершенно не те результаты, на которые Вы рассчитывали.
Конечно, ассы класса уважаемого Игоря (EducatedFool) могут позволить себе не использовать Option Explicit. Зато имена, которые он даёт переменным в своих процедурах всегда осмысленны и зачастую позволяют читать код с листа. В этом он без сомнения учитель многих "писателей". Ну как можно запутаться, например, в именах Filename , FullFileName , Path если даже при простом прочтении становится ясно, какова их размерность и что в них хранится?
Но пытаться адаптировать чужой код, не понимая как он работает, не декларируя Option Explicit и, соответственно, не будучи уверенным в том, что Ваши процедуры получат от чужих именно то, на обработку чего они "заточены"… killed
[offtop]
Цитата bmv98rus, 25.01.2017 в 22:15, в сообщении № 6 ( писал(а)):
Лучше посмотрите это
bmv98rus, вообще-то я смотрю только то, что меня интересует, а советы даю только о том, в чём достаточно уверен.
Да и к тому же программирую только "для души", на работе в свободное время, а с работы файлы с макросами скачать не могу. Дома - только домашние дела.[/offtop]

Автор - Alex_ST
Дата добавления - 26.01.2017 в 09:07
bmv98rus Дата: Четверг, 26.01.2017, 09:44 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Оффтоп:
Цитата Alex_ST, 26.01.2017 в 09:07, в сообщении № 8 ( писал(а)):
Option Explicit совместно

Я про конкретный случай, когда просто вместо полного пути получено только имя файла. а в целом, даже пояснять не нужно. все то пишите правильно.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение[offtop]
Цитата Alex_ST, 26.01.2017 в 09:07, в сообщении № 8 ( писал(а)):
Option Explicit совместно

Я про конкретный случай, когда просто вместо полного пути получено только имя файла. а в целом, даже пояснять не нужно. все то пишите правильно.[/offtop]

Автор - bmv98rus
Дата добавления - 26.01.2017 в 09:44
  • Страница 1 из 1
  • 1
Поиск:

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