Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

использование Excel


volph777 ©   (2002-10-07 10:36:00) 

Есть вот кусок кода
try
IExcelApp := CoExcelApplication.Create; // загрузили сервер
//IExcelApp.Visible[xlLCID] := true; // отобразили сервер
IExcelWB := IExcelApp.Workbooks.Open(GetCurrentDir + "\report1.xls", EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, false, xlLCID);
IExcelWB.Activate(xlLCID); // активировали книгу
IExcelWS := IExcelWB.Worksheets.Item["Лист1"] as Excel97._Worksheet; // получили ссылку на лист
IExcelWS.Activate(xlLCID); // активировали лист
DIExcelR:= IExcelWS.Range["A2", "A2"] as Excel97.Range; // получили ссылку на область
DIExcelR.Activate; // активировали область
DIExcelR.Value := "Счет-фактура № "; // записали заголовок
DIExcelR := nil; // освободили область
IExcelWS.Name := "Счет-фактура № "; // переименовали лист
IExcelWS := nil; // освободили лист
IExcelWB.PrintOut(EmptyParam, EmptyParam, 1, false, EmptyParam, false, EmptyParam, xlLCID); // распечатали содержимое
// IExcelWB.SaveAs(Directories + "AccountInvoice_" + IntToStr(NumberAccInv) + ".xls", EmptyParam, EmptyParam, EmptyParam, false, false, xlNoChange, EmptyParam, false, EmptyParam, EmptyParam, xlLCID); // сохранили книгу
IExcelWB.Close(true, "1.xls", false, xlLCID); // закрыли книгу
IExcelWB := nil; // освободили книгу
IExcelApp.Visible[xlLCID] := false; // скрыли сервер
IExcelApp.Quit; // закрыли сервер
IExcelApp := nil; // освободили сервер
except

end;

Почему после его выполнения остается Excel в памяти!?


andrey_pst   (2002-10-07 12:49:00) [1]

у этого интерфейса нет свойства Cell.
Исследуйте файл
c:\program files\borland\delphi5\ocx\servers\excel97.pas
и подберите себе нужный интерфейс (диспинтерфейс).
А чем Range - то не устраивает ?


volph777   (2002-10-07 12:19:00) [2]

не пашет


Ghost.   (2002-10-07 11:48:00) [3]

IExcelWS.Cell[1,2].value:="value";


volph777   (2002-10-07 11:02:00) [4]

ну хочется так (типа)
IExcelWS.Cell[1,2] := "value";


andrey_pst   (2002-10-07 10:52:00) [5]

не понял, что имеется ввиду
данные - цифровые координаты или
у ячейки цифровые координаты ;) ?


volph777   (2002-10-07 10:49:00) [6]

Ок, а как записать данные в ячейку (не область) с цифровыми координатами?


andrey_pst   (2002-10-07 10:46:00) [7]

без этой строчки все должно работать нормально:
IExcelWB.PrintOut(EmptyParam, EmptyParam, 1, false, EmptyParam, false, EmptyParam, xlLCID); // распечатали содержимое
Насчет печати: можно попробовать не через интерфейс (диспинтерфейс) книги, а ,допустим, листа или принтера (если таковой имеется).
я когда пример писал эту строку сходу нацарапал - раньше на печать не выводил - не было надобности.

Все интерфейсы (диспинтерфейсы) описаны в файлике Excel97.pas


Наверх

Титульная страница Поиск, карта сайта Написать письмо