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

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

Работа с MS Excel через COM в Дельфи [D6]


Nikolai_S ©   (2002-08-22 12:57:00) 

Здравствуйте!

У меня вопрос о работе с MS Excel через стандартные компоненты в Дельфи.

const
xlLCID = LOCALE_USER_DEFAULT;
var
ExcelApplication: Excel97.ExcelApplication;

При обращении к ExcelApplication.WindowState[xlLCID] возникает исключительная ситуация "Недопустимое число параметров". Ну а вообще я пытаюсь восстановить на весь экран свернутое окно Excel.


Nikolai_S   (2002-08-22 15:39:00) [1]

Спасибо, я разобрался. Хотя Excel.Quit не спасает от проблемы - при открытии сохраненного файла основная область экрана остается невидимой. Получается, что Excel все же не закрывается. Я нашел другой выход...

Если я еще не замучал своими вопросами, то вот еще один:
Как объединить ячейки (Merge)? Я пытаюсь использовать метод:
1. WorkSheet.Range[WorkSheet.Cells.Item[1, 1], WorkSheet.Cells.Item[1, 10]].Merge(True);

Объединения не происходит. Может дело в параметре? Что означает параметр Across, который необходимо передать?



Ekaterina   (2002-08-22 14:48:00) [2]

http://www.afalinasoft.com/rus/tips/delphi-excel-main-3.html


Nikolai_S   (2002-08-22 14:45:00) [3]

Спасибо, Екатерина. Это помогло. Есть теперь еще один вопрос. Как мне сделать так, чтобы приложение MS Excel закрывалось после того, как данные переданы в Excel и сохранены в некий файл?

Я делаю так:

Workbook.Close
ExcelApplication.Visible[xlLCID] := False;
Workbook.Disconnect;
ExcelApplication.Disconnect;

Вроде все ОК, однако когда я двойным щелчком пытаюсь отрыть созданный файл, то приложение Excel, которое осталось в памяти, но было спрятано, открывается, но не виден сам Workbook.

Как закрыть приложение Excel, чтобы оно не оставалось в памяти?


Ekaterina   (2002-08-22 13:13:00) [4]

ExcelApplication.Application.WindowState[xlLCID]


Ученик   (2002-08-22 13:09:00) [5]

xlMaximized = -4137;
Excel.WindowState := xlMaximized;


Наверх

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