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

Открытие из заданного каталога всех файлов с заданым расширением (xls)

12.02.2007, 14:36. Показов 23018. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Никак не могу найти решение своей задачи, если у кого-нибудь есть желание и возможность, то помогите составить алгоритм/программу для открытия из заданого каталога всех файлов с заданым расширением.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2007, 14:36
Ответы с готовыми решениями:

Поиск и удаления всех файлов с расширением doc и xls
Нужно провести поиск по всему компьютеру и найденные файлы с расширением word 2003(doc), excel...

Открытие всех файлов из каталога
private void открытьФайлыToolStripMenuItem_Click(object sender, EventArgs e) { ...

Открытие по очереди всех файлов из каталога
Здравствуйте, подскажите как правильно написать строку Application.Workbooks.Open...

Копирование из текущего каталога всех файлов с расширением .txt, кроме одного указанного, в указанный каталог
Очень нужна помощь в написании бат файла или даже в исправлении. ниже задание и код,но нужно чтобы...

6
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
13.02.2007, 09:06 2
Алгоритм:
1.Начало
2.Получаем очередной файл
3.Если файл получен, идем на п.4.
иначе на п.5
4.Если расширение = заданному, открываем файл
иначе идем к п.2
5.Конец
0
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
13.02.2007, 09:17 3
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ПроцедураОткрытьФайлы(Путь, Маска=)
ИмяФайла=ФС.НайтиПервыйФайл(Путь+Маска);
Пока Сокрлп(ИмяФайла)<>"" Цикл
ИмяФайла=ФС.НайтиСледующийФайл();
Если (ИмяФайла<>"") И (ИмяФайла<>".") И (ИмяФайла<>"..") Тогда
ФС.АтрибутыФайла(Путь+ИмяФайла,,АтрибФайла,,,,);
АтрибФайла=Сред(АтрибФайла,4,1);
Если (АтрибФайла<>"1") тогда
Если (Прав(ИмяФайла,4)=".xls") тогда
ПутькФайлу=Путь+ИмяФайла;
ИмяФайла=Лев(ИмяФайла,СтрДлина(ИмяФайла)-4);
// Выполняем действия по открытию файла
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Код не мой, думаю, можно написать оптимальнее, но работает. Надеюсь поможет.
И ты перестанешь флудить во всех ветках форума...
0
0 / 0 / 0
Регистрация: 04.02.2007
Сообщений: 38
13.02.2007, 11:53 4
Ура... щас попробую интегрировать это в мою программу. З.ы я тоже надеюсь поможет, а флуда небыло, был оффтоп, за что награжден уже предупреждением. Спасибо что помог.
0
0 / 0 / 0
Регистрация: 04.02.2007
Сообщений: 38
13.02.2007, 14:28 5
ммм...так 1ый же файл не будет читаться ??
ИмяФайла=ФС.НайтиПервыйФайл(Путь+Маска);
Пока Сокрлп(ИмяФайла)<>"" Цикл
ИмяФайла=ФС.НайтиСледующийФайл();т.к в цикле сразу стоит найтиследфайл.
так будет правильно

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
ПроцедураОткрытьФайлы(Путь, Маска=)
ИмяФайла=ФС.НайтиПервыйФайл(Путь+Маска);
Пока Сокрлп(ИмяФайла)<>"" Цикл
Если (ИмяФайла<>"") И (ИмяФайла<>".") И (ИмяФайла<>"..") и
(ИмяФайла=ФС.НайтиПервыйФайл(Путь+Маска)) тогда
ФС.АтрибутыФайла(Путь+ИмяФайла,,АтрибФайла,,,,);
АтрибФайла=Сред(АтрибФайла,4,1);
Если (АтрибФайла<>"1") тогда
Если (Прав(ИмяФайла,4)=".xls") тогда
ПутькФайлу=Путь+ИмяФайла;
ИмяФайла=Лев(ИмяФайла,СтрДлина(ИмяФайла)-4);
// Выполняем действия по открытию файла
КонецЕсли;
КонецЕсли;
иначе
ИмяФайла=ФС.НайтиСледующийФайл();
если (ИмяФайла<>"") И (ИмяФайла<>".") И (ИмяФайла<>"..") тогда
ФС.АтрибутыФайла(Путь+ИмяФайла,,АтрибФайла,,,,);
АтрибФайла=Сред(АтрибФайла,4,1);
Если (АтрибФайла<>"1") тогда
Если (Прав(ИмяФайла,4)=".xls") тогда
ПутькФайлу=Путь+ИмяФайла;
ИмяФайла=Лев(ИмяФайла,СтрДлина(ИмяФайла)-4);
// Выполняем действия по открытию файла
 
КонецЕсли;
КонецЕсли;
КонецЕсли;
конецЦикла;
ммм.да, некрасиво получилось, но надеюсь читабельно. :blink:


1C
1
2
АтрибФайла=Сред(АтрибФайла,4,1);
Если (АтрибФайла<>"1") тогда
зачем это нужно можешь пояснить???
0
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
13.02.2007, 17:51 6
Цитата Сообщение от Stim
ммм...так 1ый же файл не будет читаться ??
ИмяФайла=ФС.НайтиПервыйФайл(Путь+Маска);
Пока Сокрлп(ИмяФайла)<>"" Цикл
ИмяФайла=ФС.НайтиСледующийФайл();т.к в цикле сразу стоит найтиследфайл.
так будет правильно
А это не важно, т.к. первый файл это ".". А нам он не нужен.
Хочешь, чтоб было правильнее, опусти получение следующего файла в конец цикла. :blink:


Цитата Сообщение от Stim
зачем это нужно можешь пояснить???
Чтобы не брать каталоги
Согласен, что исходный код для тебя не оптимален, я всего-навсего нарезал тебе куски исходника, с несклоько большей функциональностью. Но ты что-то странное натворил ;)
Извини, не вникал сильно в твой код, но, ИМХО, он нерабочий, т.к. цикл будет вечным.
ты постоянно получаешь первый файл.
0
0 / 0 / 0
Регистрация: 04.02.2007
Сообщений: 38
13.02.2007, 19:32 7
да чото намудрил... опустить в конец мудрое решение )))) сэнк ю еще раз
0
13.02.2007, 19:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2007, 19:32
Помогаю со студенческими работами здесь

Построить файл из строк всех файлов с указанным расширением текущего каталога, в которых встречается многоточи
9. Построить файл из строк всех файлов с указанным расширением текущего каталога, в которых...

Открытие по очереди всех текстовых файлов из каталога
Доброго времени суток! Надо сделать перебор всех текстовых файлов в указанной папке. Я сделал так:...

Открытие по очереди всех текстовых файлов из каталога
Доброго времени суток! Надо сделать перебор всех текстовых файлов в указанной папке. Я сделал так:...

Удаление из всех подкаталогов заданного каталога, включая вложенные, всех FGI-файлов размером не более 27 Кб
Задача - в C:\folders\ много поддиректорий, автоматически создаются файлы различные графические, и...


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

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