| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: ActiveX/СОМ/CORBA > Поммогите сохранить в Excel |
| Автор: EvilProgrammer 21.7.2006, 10:08 | ||||
| Помогите пожалуйста решить эту проблему. Есть такой код:
Тут я открываю файл через ФайлЛистБокс1. Я решил упростить процесс поиска файла без использования ОпенДиалога. Потом мне нужно пересохранить этот файл при помощи ДиректориЛистБокс2 и ФайлЛистБокс2, но так что бы изменлися лишь путь к каталогу а его имя осталось без изменений. Я попробовал так...
SPathName: string; Как правильно указать путь сохранения? |
| Автор: Albinos_x 21.7.2006, 13:52 |
| не совсем понял вопроса.... не получается получить путь? или сохранение? |
| Автор: EvilProgrammer 21.7.2006, 14:28 |
| Albinos_x, не получается получить путь Я хочу сделать так чтобы поменялся только каталог, а имя файла осталось прежним. Для указания каталога я использую DirectoryListBox2. |
| Автор: Albinos_x 21.7.2006, 16:31 | ||||
Добавлено @ 16:34 советую скачать DRKB (Delphi Russian Knowledge Base) (http://www.drkb.ru/)
Добавлено @ 16:37 ЗЫ: Это вопрос раздела http://forum.vingrad.ru/index.php?showforum=84 |
| Автор: EvilProgrammer 23.7.2006, 22:41 |
| Albinos_x, Спасибо за совет. DRKB я уже скачал. Как я уже говорил, я только начинаю программировать поэтому орехов не избежать. Книги и ФАКи это хорошо, но советы и подсказки квалифицированных программистов намного ценнее. |
| Автор: Albinos_x 23.7.2006, 22:49 |
| PS: Мне интересно, почему делаешь сохранение через Excel, а не пользуешся копированием файлов? |
| Автор: EvilProgrammer 24.7.2006, 09:16 |
| Albinos_x, Вроде не нужно мучатся с конвертированием, достаточно просто указать в каком формате сохранить файл. Как уже говорил раньше, написал программку которая просто замечательно работает с одним файлом (их можна конвертировать по очереди), при этом я использовал Excel и OpenDialog/SaveDialog. Потом у меня родилась идея сделать программу без OpenDialog/SaveDialog с использовпанием дерева каталогов и FileListBox, это бы намного упростило процесс поиска и открытия нужного файла. На данный момент у меня получилось загрузить нужный мне файл через FileListBox. Теперь я тружусь над тем, чтобы этот файл можно было так же легко положить туда куда мне нужно без изменения имени этого файла, но в другом формате (Из *.xls надо сделать *.txt). В конечном итоге программа должна оперировать не с одним файлом, а с целым каталогом в котором хранятся файлы *.xls, которые нужно пересохранить в *.txt в указанный каталог. Если есть какие-нибудь примеры или советы я буду очень рад, потому как у меня нету опыта в создании таких программ. Заранее благодарен. |
| Автор: EvilProgrammer 24.7.2006, 12:26 | ||
На данный момент есть такой код:
Не получается заставить прочитать имя файла из Edit2.Text |
| Автор: Albinos_x 24.7.2006, 13:10 | ||
| в статье, ссылку на которую я давал в ранее созданном тобой топике били примеры и загрузки и работы... А имя и путь к файлу там есть? может так:
|
| Автор: EvilProgrammer 25.7.2006, 10:48 |
| Albinos_x, все бы хорошо, но только из Эдит он берет имя файла с расширением и потом выдает ошибку, что в имени файла не должно быть запрещенных символов. Можно ли как-то сделать фильтр? П.С. Хотя с другой стороны создать файл "random.xls.txt" можно без всяких проблем в винде. В чем же тогда баг? Еще у мня появилась мысль о том можно ли каким-то образом заставить Ексель пересохранить файл с тем именем с которым он был открыт, для этого вроде бы не нужно задавать новое имя. Соответственно FileName тогда должен либо вообще отсутствовать либо не содержать имени фалйла. Можно ли так сделать? |
| Автор: Albinos_x 25.7.2006, 22:05 |
| У меня в статье было написано, что могут возникать проблемы в методе SaveAs, если путь сохранения содержит русские буквы (т.е. отличные от латинского алфавита)... Может в этом проблема.... |
| Автор: EvilProgrammer 26.7.2006, 10:14 | ||||
| Albinos_x, нет-нет тут дело не в этом. Все файлы содержатлатинские буквы. Как уже говрил это файлы отчетности по месяцам/неделям/дням и т.д. Просто когда выполняется
то в переменную берется FileName записывается значение "random.xls" к которому потом добавляется расширение .txt и вот после этого программа выдает сообщение что так делать нельзя. По-поводу загрузки целого каталога в Ексель у меня повилась такая идея. Правда немного коряво но надеюсь что потом несколько модернизирую.
Правда причина остается той же Выдается такой сабж: Файл не доступен. 1. проверьте создана ли директория? (создана) 2. Открыта ли директория для записпи (открыта) 3. Имя файла не должно содеражать знаков (не содержит) 4. Полный путь к файлу не должен превышатьт 218 символов. (не привышает) Помогите!!! В чем же дело? |
| Автор: EvilProgrammer 28.7.2006, 09:47 |
| Albinos_x, Сказать по правде я уже немного запутался. |
| Автор: Albinos_x 28.7.2006, 12:47 |
| Не понял... в чём запутался? |
| Автор: EvilProgrammer 9.8.2006, 10:34 |
| Albinos_x, Огромное спасибо. Уже все работает. Программ функцилонирует. Теперь пишу ее более усовершенствованный вариант. |