|
Вопрос # 3 371/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
У меня вопрос - сохряняю таблицу StringGrid в Excel файл - XLApp.Workbooks[1].SaveAs(AFileName);
Программа каждый раз спрашивает - такой файл есть, перезаписать и пр. Можно ли как то сделать чтобы сохранял не спрашивая?
Заранее благодарен!
Приложение: Переключить в обычный режим- function RefToCell(ARow, ACol: Integer): string;
- begin
- Result := Chr(Ord('A') + ACol - 1) + IntToStr(ARow);
- end;
-
- function SaveAsExcelFile(AGrid: TStringGrid; ASheetName, AFileName: string): Boolean;
- const
- xlWBATWorksheet = -4167;
- var
- Row, Col: Integer;
- GridPrevFile: string;
- XLApp, Sheet, Data: OLEVariant;
- i, j: Integer;
- begin
- // Prepare Data
- Data := VarArrayCreate([1, AGrid.RowCount, 1, AGrid.ColCount], varVariant);
- for i := 0 to AGrid.ColCount - 1 do
- for j := 0 to AGrid.RowCount - 1 do
- Data[j + 1, i + 1] := AGrid.Cells[i, j];
- // Create Excel-OLE Object
- Result := False;
- XLApp := CreateOleObject('Excel.Application');
- try
- // Hide Excel
- XLApp.Visible := False;
- // Add new Workbook
- XLApp.Workbooks.Add(xlWBatWorkSheet);
- Sheet := XLApp.Workbooks[1].WorkSheets[1];
- Sheet.Name := ASheetName;
- // Fill up the sheet
- Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount,
- AGrid.ColCount)].Value := Data;
- // Save Excel Worksheet
- try
- XLApp.Workbooks[1].SaveAs(AFileName);
- Result := True;
- except
- // Error ?
- end;
- finally
- // Quit Excel
- if not VarIsEmpty(XLApp) then
- begin
- XLApp.DisplayAlerts := False;
- XLApp.Quit;
- XLAPP := Unassigned;
- Sheet := Unassigned;
- end;
- end;
- end;
-
 |
Вопрос задал: 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
Комментарий к оценке: Отлично, вроде работает! ;) Спасибо большое!
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|