Страницы: 1
RSS
Изменить расширение файла
 
Можно ли изменить расширения автоматически у всех файлов в папке, если оно другое. Например, программа выбирает только файлы .xls, но так же там содержатся файлы других форматов (например .sxc). Как переименовать все неподходящие файлы в .xls? названия файлов заранее не известны, количество тоже
 
Переименовать не проблема, но что это будет? Зачем это? Одним переименованием они в нормальные правильные xls не превратятся.
 
А если там графический файл, например, .jpeg,- его тоже в .xls?
 
Нет, там только 2 вида файлов, .xls или .sxc, то есть оба - это таблицы
 
Не понимаю, чего Вы хотите в итоге добиться?
 
Что бы все файлы были в формате .xls
 
Так Вы этого не добьётесь. Расширение будет, формат - нет.
 
А файлы .sxc в Excel сами по себе открываются?
 
ну если изменить у одного такого файла а настройках - открывать все файлы такго типа, то да
 
Переформулирую: Excel САМ такие файлы открывает?
 
Попробуйте вручную заменить расширение одному файлу - он после этого открывается Экселем?  
Или таким кодом, если вручную не получается (кто знает...)  
 
Sub tt()  
   OldName = "c:\Temp\Радистка_Кет\test.sxc"    'старое имя  
   NewName = "c:\Temp\Радистка_Кет\test.xls"    'новое имя  
   Name OldName As NewName  
End Sub
 
Если получится, то лучше вероятно так делать:  
 
   NewName = "c:\Temp\Радистка_Кет\test.sxc.xls"    'новое имя  
 
чтоб позже не путались. И назад несложно вернуть.
 
Да, вот это как раз и пробовала. вроде работает. никак не могу это сделать на всех файлах
 
Этот текст сохранить с расширением vbs, запустить.  
Можно естественно править в блокноте.  
Можно "завернуть" в sub и использовать как макрос.  
 
 
Dim FSO  
Dim TheFolder, TheFiles, AFile  
 
Set FSO = CreateObject("Scripting.FileSystemObject")  
Set TheFolder = FSO.GetFolder("c:\Temp\Радистка_Кет\") 'Каталог  
Set TheFiles = TheFolder.Files  
 
For Each AFile In TheFiles  
   If UCase(FSO.GetExtensionName(AFile.Path)) = "SXC" then  
FSO.MoveFile afile , afile & ".xls"  
   End If  
Next
 
Так данные код не изменяет расширение файла, а просто добавляет новое, то есть было: "5.2.sxc", а стало - "5.2.sxc.xls"
 
Оно Вам мешает? Экселю думаю нет :)  
Я же сказал - так проще Вам будет разобраться, что родной файл, а что искусственный.  
Можно конечно и полностью заменить... Но зачем?
 
Странно - писал сообщение в эту тему, а его нет?!  
 
shell "cmd/c ren c:\Temp\Радистка_Кет\*.sxc *.xls"
 
Хорошо, большое спасибо
 
Казанский предложил решение получше, но и я своё уж добью :)  
Замените одну строку на такую:  
FSO.MoveFile afile , replace(lcase(afile), ".sxc", ".xls")
 
Или корректней так (так не заменит всюду где найдёт):  
 
           FSO.MoveFile AFile, Left(AFile, Len(AFile) - 3) & "xls"
 
{quote}{login=Казанский}{date=16.09.2012 11:10}{thema=}{post}Странно - писал сообщение в эту тему, а его нет?!{/post}{/quote}  
Радистка_Кет устроила проверку на внимательность :)  
Это была другая тема.
 
.sxc это электронная таблица OpenOffice.Org 1. Переименовывать его бесполезно. Ни 2007-10, ни тем более 2003 его не открывают. Об этом Вас и спрашивали форумчане. Можно только открыть в ОО и сохранить, как xls.
Я сам - дурнее всякого примера! ...
 
Вот для примера файл, так тупо переименованный. Сможет кто-нить открыть его в эксе?
Я сам - дурнее всякого примера! ...
 
2003 не открыл.
 
{quote}{login=KukLP}{date=17.09.2012 08:05}{thema=}{post}.sxc это электронная таблица OpenOffice.Org 1. Переименовывать его бесполезно. Ни 2007-10, ни тем более 2003 его не открывают. Об этом Вас и спрашивали форумчане.{/post}{/quote}И ведь ДЕЙСТВИТЕЛЬНО спрашивали!
 
Тогда может быть открывают файлы не в Экселе :)
Страницы: 1
Читают тему
Наверх