Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 371

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
У меня вопрос - сохряняю таблицу StringGrid в Excel файл - XLApp.Workbooks[1].SaveAs(AFileName);
Программа каждый раз спрашивает - такой файл есть, перезаписать и пр. Можно ли как то сделать чтобы сохранял не спрашивая?
Заранее благодарен!

Приложение:
  1. function RefToCell(ARow, ACol: Integer): string;
  2. begin
  3. Result := Chr(Ord('A') + ACol - 1) + IntToStr(ARow);
  4. end;
  5.  
  6. function SaveAsExcelFile(AGrid: TStringGrid; ASheetName, AFileName: string): Boolean;
  7. const
  8. xlWBATWorksheet = -4167;
  9. var
  10. Row, Col: Integer;
  11. GridPrevFile: string;
  12. XLApp, Sheet, Data: OLEVariant;
  13. i, j: Integer;
  14. begin
  15. // Prepare Data
  16. Data := VarArrayCreate([1, AGrid.RowCount, 1, AGrid.ColCount], varVariant);
  17. for i := 0 to AGrid.ColCount - 1 do
  18. for j := 0 to AGrid.RowCount - 1 do
  19. Data[j + 1, i + 1] := AGrid.Cells[i, j];
  20. // Create Excel-OLE Object
  21. Result := False;
  22. XLApp := CreateOleObject('Excel.Application');
  23. try
  24. // Hide Excel
  25. XLApp.Visible := False;
  26. // Add new Workbook
  27. XLApp.Workbooks.Add(xlWBatWorkSheet);
  28. Sheet := XLApp.Workbooks[1].WorkSheets[1];
  29. Sheet.Name := ASheetName;
  30. // Fill up the sheet
  31. Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount,
  32. AGrid.ColCount)].Value := Data;
  33. // Save Excel Worksheet
  34. try
  35. XLApp.Workbooks[1].SaveAs(AFileName);
  36. Result := True;
  37. except
  38. // Error ?
  39. end;
  40. finally
  41. // Quit Excel
  42. if not VarIsEmpty(XLApp) then
  43. begin
  44. XLApp.DisplayAlerts := False;
  45. XLApp.Quit;
  46. XLAPP := Unassigned;
  47. Sheet := Unassigned;
  48. end;
  49. end;
  50. end;
  51.  


sharos Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: sharos (статус: Посетитель)
Вопрос отправлен: 6 ноября 2009, 00:13
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Шичко Игорь

Здравствуйте, sharos!
У Вас этот оператор уже есть, только в другом месте.
Дополнение кода:
...
try
XLApp.DisplayAlerts:= False;
XLApp.Workbooks[1].SaveAs(AFileName);
Result := True;
XLApp.DisplayAlerts:= True;
except
...
Источник информации:
Объект Excel.Application, свойства, методы и события

Ответ отправил: Шичко Игорь (статус: 9-ый класс)
Время отправки: 6 ноября 2009, 07:59
Оценка за ответ: 5

Комментарий к оценке: Отлично, вроде работает! ;) Спасибо большое!

Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:30
Выполнено за 0.03 сек.