Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: CL | DM;

Вниз

закрепленее - в Excel   Найти похожие ветки 

 
Chort ©   (2006-08-17 11:02) [0]

Подскажите как при программном экспорте Access в Excel сделать для первых двух строк таблицы Excel закрепленее - в Excel это делается так :
Полностью выделяется третья строка и нажимаем Окно- Закрепить области. Помогите кто знает.
Вот код
procedure TForm1.Excel1Click(Sender: TObject);

var
XLApp,Sheet,Colum:Variant;
index,i:Integer;
begin
XLApp:= CreateOleObject("Excel.Application");
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:="Экспорт";
Colum:=XLApp.Workbooks[1].WorkSheets["Экспорт"].Columns;
Colum.Columns[1].ColumnWidth:=10;
Colum.Columns[2].ColumnWidth:=20;
Colum.Columns[3].ColumnWidth:=20;
Colum.Columns[4].ColumnWidth:=20;
Colum.Columns[5].ColumnWidth:=20;
Colum:=XLApp.Workbooks[1].WorkSheets["Экспорт"].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlue;
Colum.Rows[1].Font.Size:=15;
Sheet:=XLApp.Workbooks[1].WorkSheets["Экспорт"];
Sheet.Cells[1,4]:="экспорт базы данных ";
Sheet.Cells[2,1]:="Номер";
Sheet.Cells[2,2]:="Название программы";
Sheet.Cells[2,3]:="Название файла";
Sheet.Cells[2,4]:="Производитель";
Sheet.Cells[2,5]:="Язык";
index:=3;
DataModule1.BookTable.First;
for i:=0 to DataModule1.BookTable.RecordCount-1 do
begin
Sheet.Cells[index,1]:=DataModule1.BookTable.Fields.Fields[0].AsString;
Sheet.Cells[index,2]:=DataModule1.BookTable.Fields.Fields[1].AsString;
Sheet.Cells[index,3]:=DataModule1.BookTable.Fields.Fields[2].AsString;
Sheet.Cells[index,4]:=DataModule1.BookTable.Fields.Fields[3].AsString;
Sheet.Cells[index,5]:=DataModule1.BookTable.Fields.Fields[4].AsString;
Inc(index);
DataModule1.BookTable.Next;
 end;


 
Сергей М. ©   (2006-08-17 11:04) [1]

Запиши соотв.макрос и подсмотри как в нем это делается.


 
umbra ©   (2006-08-17 11:40) [2]

var
 mywindow: variant;
{..................................}
mywindow := XLApp.Workbooks[1].Windows[1];
mywindow.SplitRows := 2;
mywindow.FreezePanes := true;
mywindow := Unassigned;
{..................................}


 
Chort ©   (2006-08-17 11:49) [3]

to umbra
Спасибо. Компилится нормально. при запуске экспорта выдает ошибку Method "SplitRows" not suported by automation object. Вот такая петрушка.


 
umbra ©   (2006-08-17 12:40) [4]

очепятка вышла - SplitRow надо. Но можно было и в справку посмотреть.


 
Chort ©   (2006-08-17 17:25) [5]

to umbra
Точно. Спасибо! Если не секрет, то откуда вы это знаете?


 
umbra ©   (2006-08-17 17:36) [6]

1) из справки экселевской
2) записываю макросы в экселе, копирую в буфер, вставляю в код на делфи,
   заменяю в коллекциях все круглые скобки на квадратные. Обычно работает :)


 
Chort ©   (2006-08-17 19:38) [7]

Если можно со второго пункта подробнее, уж очень интересно.


 
umbra ©   (2006-08-17 20:10) [8]

открываете эксель, выбираете в меню "Сервис\макрос\Начать запись", выполняете нужные действия, жмете "Прекратить запись", жмете Alt-F11 - открывается редактор вижуалбейсика, открываете Модуль1 - и читаете код для операций, которые вы выполнили. В код на делфи переносите все названия нужных методов и свойств


 
Chort ©   (2006-08-17 23:03) [9]

to umbra
Спасибо!Немного разобрался.



Страницы: 1 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
2-1156229307
UMU
2006-08-22 10:48
2006.09.10
DBGrid и DBLookUpComboBox


15-1155609732
boalse
2006-08-15 06:42
2006.09.10
Unsafe code, как с этим бороться?


15-1155466218
Andy BitOff
2006-08-13 14:50
2006.09.10
Windows в 85 году


2-1155730262
Evlahov
2006-08-16 16:11
2006.09.10
SQL-запрос


2-1156172789
vain
2006-08-21 19:06
2006.09.10
gif и canvas