Питання # 4669 …дружини stringgrid, кнопка при натисканні якої дані з stringgrid експортуються в
Спільнота програмістів Спілкування, допомога, обмін досвідом
Delphi.int.ru Expert
Інші розділи порталу
Перехід до питання:
Статистика за сьогодні:
Найкращі експерти
Питання # 4669
Здрастуйте, експерти! Підкажіть будь ласка, у мене на формі розташовані stringgrid, кнопка при натисканні якої дані з stringgrid експортуються в excel. Як зробити так, щоб при натисканні кнопки можна було вибрати куди зберігати файл excel? Я розумію, що треба використовувати компонент SaveDialog, але не знаю як.
- unit Unit5;
- interface
- uses
- Windows, Messages, SysUtils, Variants, );
- Sheet: = Workbook.ActiveSheet;
- Gauge1.MaxValue:=100;
- Gauge1.Progress: = 0;
- for i:= 0 to StringGr >0 then
- Gauge1.Progress:=Round(((i+1)*100)/StringGr ;
- StringGr >
Відповідь #1. Відповідає експерт:Шічко Ігор
Привіт, slai! Пропоную Вам трохи інший варіант рішення. На формі розташувати компоненти:DriveComboBox1 таDirectoryListBox1 зі сторінки Win 3.1. . DriveComboBox1: TDriveComboBox; DirectoryListBox1: TDirectoryListBox; . У якості DriveComboBox1DirList вибратиDirectoryListBox1.
Тоді можна працювати практично як із провідником. Вибраний шлях для збереження файлу буде наступним:
. dir_:= DirectoryListBox1.Directory; . Workbook.SaveAs(dir_ + '\temp_' + IntToStr(DayOfTheMonth(Date)) + '.' + IntToStr(MonthOfTheYear(Date)) + '.' + IntToStr(YearOf(Date)) + '.xls' ); .
Файл зберігатиметься у вибраному каталозі. Питання - пишіть. Удачі.
Відповідь #2. Відповідає експерт:min@y™
Ну, і які проблеми? Поклади SaveDialog на форму. Викликати його і дізнатися, яке ім'я файлу вибрав користувач, ти можеш так: SaveDialog.Filter:= 'Файли MSExcel (*.xls)*.xls'; SaveDialog.DefaultExt:= 'xls'; SaveDialog.Options:= SaveDialog.Options + [ofOverwritePrompt]; if SaveDialog.Execute() then begin // Тут код процедури BitBtn1Click // Ім'я файлу, вибраного в SaveDialog - це SaveDialog.FileName. end;
Міні-форум питання
Дякую працює. Але все ж таки хотілося б спробувати і через SaveDialog.
Спробуйте. Розташуйте на формі компонент SaveDialog1. Застосування:
procedure TForm5.BitBtn1Click(Sender: TObject); . if SaveDialog1.Execute then begin . Workbook.SaveAs(SaveDialog1.FileName); . end; При натисканні на кнопку відкривається вікно введення імені файлу, що зберігається. Звернення до нього у програмі:SaveDialog1.FileName