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

Вход

Регистрация

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

 

= Мир MS Excel/доработка кода (пропуск несуществующего файла) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
доработка кода (пропуск несуществующего файла)
FCSM Дата: Воскресенье, 10.11.2013, 12:43 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте.
Есть код - он переименовывает все tif-файлы, указанные в первом столбце, в соответствующие имена, указанные во втором столбце.
Но если хоть одного файла, чье имя указано в первом столбце, физически не существует в папке - то программа выдаст ошибку - файл не существует - и дальше файлы переименовываться не будут.
Подскажите, пожалуйста, как доработать код, чтобы если указан не существующий файл - он не прекращал работу, а переходил к следующему файлу и продолжал переименовку.
Заранее - СПАСИБО.

Вот код:
[vba]
Код
Sub Переименовать группу файлов()
Dim OldName As String, NewName As String, sPath As String
Dim i As Long, lLastRow As Long
sPath = "С:\Projects\"
lLastRow = Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To lLastRow
OldName = sPath & Cells(i, 1) & ".tif"
NewName = sPath & Cells(i, 2) & ".tif"
Name OldName As NewName
Next i
End Sub
Private Sub CommandButton1_Click()
Dim OldName As String, NewName As String, sPath As String
Dim i As Long, lLastRow As Long
sPath = "С:\Projects\"
lLastRow = Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To lLastRow
OldName = sPath & Cells(i, 1) & ".tif"
NewName = sPath & Cells(i, 2) & ".tif"
Name OldName As NewName
Next i
End Sub
[/vba]

[admin]Оформляйте коды тегами! Правила, п 3[/admin]
 
Ответить
СообщениеЗдравствуйте.
Есть код - он переименовывает все tif-файлы, указанные в первом столбце, в соответствующие имена, указанные во втором столбце.
Но если хоть одного файла, чье имя указано в первом столбце, физически не существует в папке - то программа выдаст ошибку - файл не существует - и дальше файлы переименовываться не будут.
Подскажите, пожалуйста, как доработать код, чтобы если указан не существующий файл - он не прекращал работу, а переходил к следующему файлу и продолжал переименовку.
Заранее - СПАСИБО.

Вот код:
[vba]
Код
Sub Переименовать группу файлов()
Dim OldName As String, NewName As String, sPath As String
Dim i As Long, lLastRow As Long
sPath = "С:\Projects\"
lLastRow = Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To lLastRow
OldName = sPath & Cells(i, 1) & ".tif"
NewName = sPath & Cells(i, 2) & ".tif"
Name OldName As NewName
Next i
End Sub
Private Sub CommandButton1_Click()
Dim OldName As String, NewName As String, sPath As String
Dim i As Long, lLastRow As Long
sPath = "С:\Projects\"
lLastRow = Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To lLastRow
OldName = sPath & Cells(i, 1) & ".tif"
NewName = sPath & Cells(i, 2) & ".tif"
Name OldName As NewName
Next i
End Sub
[/vba]

[admin]Оформляйте коды тегами! Правила, п 3[/admin]

Автор - FCSM
Дата добавления - 10.11.2013 в 12:43
Serge_007 Дата: Воскресенье, 10.11.2013, 12:50 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
как доработать код, чтобы если указан не существующий файл - он не прекращал работу, а переходил к следующему файлу
On Error Resume Next


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
как доработать код, чтобы если указан не существующий файл - он не прекращал работу, а переходил к следующему файлу
On Error Resume Next

Автор - Serge_007
Дата добавления - 10.11.2013 в 12:50
FCSM Дата: Воскресенье, 10.11.2013, 19:22 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Спасибо!!!
 
Ответить
СообщениеСпасибо!!!

Автор - FCSM
Дата добавления - 10.11.2013 в 19:22
Wasilich Дата: Воскресенье, 10.11.2013, 19:32 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Возможно ошибаюсь но, проверьте проверку. :)
[vba]
Код
If Dir(OldName) <> "" then   
     NewName = sPath & Cells(i, 2) & ".tif"
     Name OldName As NewName
End if
[/vba]


Сообщение отредактировал Wasilic - Воскресенье, 10.11.2013, 19:37
 
Ответить
СообщениеВозможно ошибаюсь но, проверьте проверку. :)
[vba]
Код
If Dir(OldName) <> "" then   
     NewName = sPath & Cells(i, 2) & ".tif"
     Name OldName As NewName
End if
[/vba]

Автор - Wasilich
Дата добавления - 10.11.2013 в 19:32
RAN Дата: Воскресенье, 10.11.2013, 21:38 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Возможно ошибаюсь но, проверьте проверку.
[vba]
Код
If Dir(OldName) <> "" then
NewName = sPath & Cells(i, 2) & ".tif"
Name OldName As NewName
End if
[/vba]

Наверное, сработает правильно. Но зачем? :'(


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Воскресенье, 10.11.2013, 21:39
 
Ответить
Сообщение
Возможно ошибаюсь но, проверьте проверку.
[vba]
Код
If Dir(OldName) <> "" then
NewName = sPath & Cells(i, 2) & ".tif"
Name OldName As NewName
End if
[/vba]

Наверное, сработает правильно. Но зачем? :'(

Автор - RAN
Дата добавления - 10.11.2013 в 21:38
Wasilich Дата: Понедельник, 11.11.2013, 01:34 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Наверное, сработает правильно. Но зачем?
А как вариант! Заодно, будет знать как проверить наличие файла, а это - одной темой (от него) меньше. :D
 
Ответить
Сообщение
Наверное, сработает правильно. Но зачем?
А как вариант! Заодно, будет знать как проверить наличие файла, а это - одной темой (от него) меньше. :D

Автор - Wasilich
Дата добавления - 11.11.2013 в 01:34
  • Страница 1 из 1
  • 1
Поиск:

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