Консультация № 55116
12.09.2006, 09:15
0.00 руб.
0 3 2
Здравствуйте, эксперты!!!
Вопрос на засыпку:
Программа создает отчет в Exel по технологии СОМ
Так вот:
Как, согласно этой технологии отформатировать определенные ячейки (возможно и строки) так, чтобы текст в них располагался по центру ячейки?
А также какие вы знаете еще команды форматирования (СОМ)?
Заранее всем спасибо!!!

Обсуждение

давно
Мастер-Эксперт
425
4118
12.09.2006, 10:58
общий
Этот вопрос к Дельфи не имеет никакого отношения. Вам нужно заглянуть в справку по VBA Excel.У СОМ нет никаких команд форматирования и никогда не было. Все форматирование выполняет Excel (или Word). СОМ - это всего лишь способ обмена информацией между программами.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
12.09.2006, 11:13
общий
это ответ
Здравствуйте, Герасименко Алексей Анатольевич!
у объектов возвращаемых функцией Range и Selection
есть свойство HorizontalAlignment
чтобы выровнять по центру надо сделать
HorizontalAlignment:= xlCenter;
други команды свойства методы и объекты можно посмотреть в самом Excel‘е
Запустить Excel
Нажать Alt+F11 (Сервис\Макрос\Редактор VisualBasic)
в открывшемся редакторе нажать F2 (View\Object Browser)
в открывшемся окне вверху в первом выпадающем списке выбираете Excel
во втором выпадающем списке пишете GoalSeek (это один из методов Range)
после чего жмите Enter
в верхней части найдется класс Range (он должен быть первым в списке)
в нижней части выделится данный класс слева и отобразятся все его members (свойства методы) справа
при выделения метода/свойства можно нажать F1 - по большинству есть описания с примерами в справке правда на VisualBasic, но к Object Pascal перейти не сложно.

Удачи.
Неизвестный
12.09.2006, 11:38
общий
это ответ
Здравствуйте, Герасименко Алексей Анатольевич!

Полностью согласен с замечанием <b><u>sir henry</u></b>, но все таки привожу пример по форматированию ячейки (см. приложение).

Описание констант-форматирования Вы можете найти в файлах <font color=purple>Excel2000.pas</font> или <font color=purple>ExcelXP.pas</font>.

Также советую Вам посетить такую <big><a href=http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1274>ссылку</a></big>.

Удачи!!!

Приложение:
uses ComObj;var ExlApp: TExcelApplication; ExlWorkBook: ExcelWorkbook; ExlWorkSheet: ExcelWorkSheet;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin ExlApp:=TExcelApplication.Create(Self); ExlApp.ConnectKind := ckNewInstance; ExlApp.AutoQuit:=true; ExlApp.Visible[LOCALE_USER_DEFAULT]:=true; ExlWorkBook:=ExlApp.Workbooks.Add(EmptyParam,0); ExlWorkSheet:=ExlApp.ActiveWorkbook.ActiveSheet as ExcelWorksheet;end;procedure TForm1.CellOkClick(Sender: TObject);var UserRange:OleVariant;begin//форматирование ExlApp.ActiveCell.Value2:=‘Hello!!!‘; UserRange:=ExlWorkSheet.Range[‘A1‘,‘A1‘]; UserRange.Borders[2].LineStyle := 1; UserRange.HorizontalAlignment := xlCenter; UserRange.VerticalAlignment := xlCenter;end;
Форма ответа