Питання # 4669 …дружини stringgrid, кнопка при натисканні якої дані з stringgrid експортуються в

Спільнота програмістів Спілкування, допомога, обмін досвідом

Delphi.int.ru Expert

Інші розділи порталу

Перехід до питання:

Статистика за сьогодні:

Найкращі експерти

Питання # 4669

Здрастуйте, експерти! Підкажіть будь ласка, у мене на формі розташовані stringgrid, кнопка при натисканні якої дані з stringgrid експортуються в excel. Як зробити так, щоб при натисканні кнопки можна було вибрати куди зберігати файл excel? Я розумію, що треба використовувати компонент SaveDialog, але не знаю як.

  1. unit Unit5;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, );
  5. Sheet: = Workbook.ActiveSheet;
  6. Gauge1.MaxValue:=100;
  7. Gauge1.Progress: = 0;
  8. for i:= 0 to StringGr >0 then
  9. Gauge1.Progress:=Round(((i+1)*100)/StringGr ;
  10. 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