A
B
C
Ç
D
E
F
G
Ğ
H
I
İ
J
K
L
M
N
O
P
R
S
Ş
T
U
Ü
V
Y
Z
Q
W
X
+ Ekle
Her Yönü ile Delphi ve Excel

Her Yönü ile Delphi ve Excel

ComObj

Değişkenlerimi tanımlayalım


var
XLApp : OleVariant;
ColonAraligi : OleVariant;
const
alignCenter = -4108;
valignCenter = -4108;
alignRight =- 4152;



Excel Kontrolu


try
XLApp := GetActiveOleObject("Excel.Application");
except
try
XLApp := CreateOleObject("Excel.Application");
except
ShowMessage("Excel kurulu değil");
Exit;
end;
end;




Var olan br excel"i açma

XLApp.Workbooks.Open("c:\gerizekali.xls");


Yeni çalışma sayfası ekler.

XLApp.WorkBooks.Add;


Yeniden adlandır

XLApp.ActiveSheet.Name := "geri zekali";
//Aktif Sayfanın ismini değiştirir

XLApp.Workbooks[1].WorkSheets[1].Name := "GeriZekali";
//Belirttiğiniz sayfanın ismini değişirir.


Excel görünsün, görünmesin

XLApp.Visible := True;



//Gösterir
XLApp.Visible := False;
//Gizler


Hücre Seçme

XLApp.Range("A1:J25").Select;


Hücreleri Birleştirme

XLApp.Range["A1:C1"].Mergecells := True;
//A1 den C1 e kadar olan hücreleri birleştirir


Hücre Hizalama

XLApp.Cells[1, 1].HorizontalAlignment := AlignCenter;
//Yatay Hizalama

XLApp.Cells[1, 1].VerticalAlignment := valignCenter;
//Dikey Hizalama


Satır Yüksekliği

XLApp.Rows[1].RowHeight := 30;


Border

XLApp.Range[A1,C1].Borders.Weight := 1;


Border Rengi

XLApp.Cells[1, 1]..Borders[1].Colorindex := -4142;


Font Ayarları

XLApp.Range["A1:A1"].Font.Bold := True;
//Bold yapar


XLApp.Range["A1:A1"].Font.Size := 12;
//Size 12 yapar


Gridleri gizler

XLApp.ActiveWindow.DisplayGridlines := False;


Değer atama

XLApp.Cells[1, 1].Value := "Ben bir Geri Zekalıyım";
//yukarida A,C hücrelerini birleştirdiğimiz için bundan sonra aynı satırda bir sonraki hücreye bir değer atamak istersek
XLApp.Cells[1, 4].Value := "deneme"; dememiz gerekli


Kolon Aralığı

ColonAraligi := XLApp.Workbooks[1].WorkSheets[1].Columns;
ColonAraligi.Columns[4].ColumnWidth := 25;

//burada ColonAraligi : OleVariant; değişkenimizden yararlandık, 4. kolonun genişliğini 25 yaptık.

//Kolon Otomatik Genişlesin
XLApp.selection.Columns.AutoFit;



Rakamları Formatlama

XLApp.WorkBooks[1].WorkSheets[1].Columns[2].NumberFormat := "#.##0";
//2 kolona girilecek sayıları formatladık 1.250.000 şeklinde

XLApp.WorkBooks[1].WorkSheets[1].Columns[2].NumberFormat := ";
//Formatlı bir hücreyi formatsız yapar.


Tarih Formatlama

XLApp.Cells[1,1].Value := FormatDateTime("dd-mmm-yyyy", Now);


Formuller

XLApp.Range["A5", "A5"].Formula := "=Sum(A1:A4)";
//A1 hücresinden A4 hücresine kadar Toplar Değerlerini A5 hücresine yazar.


Kaydet

XLApp.SaveAs("c:\GeriZekali.xls");
//Çalışma sayfasını kaydeder

XLApp.ActiveWorkBook.SaveAs("c:\GeriZekali.xls");
//Aktif sayfayı kaydeder.


Yazıcı Ayarları

//Kenarlıklar

XLApp.ActiveSheet.PageSetup.LeftMargin := 0;
XLApp.ActiveSheet.PageSetup.RightMargin := 0;
XLApp.ActiveSheet.PageSetup.TopMargin := 0;
XLApp.ActiveSheet.PageSetup.BottomMargin := 0;



//Hizalama
XLApp.ActiveSheet.PageSetup.CenterHorizontally := 1;
//Yatay Olarak Ortaya alır
XLApp.ActiveSheet.PageSetup.CenterVertically := 1;
//Dikey Olarak Ortaya Alır

//Sayfa Ayarları
XLApp.ActiveSheet.PageSetup.Orientation := 2;
//2 yatay 1 dikey olarak ayarlar.


Alt Bilgi

XLApp.ActiveSheet.PageSetup.LeftFooter := "Rapor Tarihi : " + "&D";
//O günü tarihini sayfanın alt bilgi kısmına basalım


Kaçıncı Sayfa

XLApp.ActiveSheet.PageSetup.RightFooter := "Sayfa : " + "&P"+"/"+"&N";
//Yazıcıdan aldığımız sayfaların kaç sayfada hangi sayfa bilgisini gösterir


Alt Bilgi için diğer parametreler


&L
&C
&R
&E
&X
&Y
&B
&I
&U
&S
&D
&T
&F
&A
&P
&P+number
&P-number
&&
& "Font Adı"
&nn
&N

//bunarın karşılıklarınıda artık zahmet edip tektek deneyerek anlamlarını bulunuz. ) (Yaşasın Kötülük)



Tekrar Eden Saatırlar

XLApp.ActiveSheet.PageSetup.PrintTitleRows := "$2:$2";
//Yazılan Sayfada başlık olarak tekrar etmesini sağlarız.
İstediğiniz hücreleri $2:$2 dediğimizde ikinci satırı olduğu gibi her print edilen sayfanın başında gösterir


Yazıcı Renkli, Renksiz

XLApp.ActiveSheet.PageSetup.BlackAndWhite := False;

Yazıcı Görüntüsü

XLApp.ActiveSheet.PrintPreview;


Kopya Sayısı

XLApp.ActiveWindow.SelectedSheets.PrintOut (Copies := 1);
//Kaç Kopyası Olsun


//Sığdır
XLApp.ActiveSheet.PageSetup.Zoom := 65;
//Çalışma Sayfanızı 1 Sayfaya Sığdırır.


Kapat


if not VarIsEmpty(XLApp) then
begin
XLApp.DisplayAlerts := False;
XLApp.Quit;
XLApp:=unassigned;

//Formunuzun OnDestroy olayına bu satırları yazınki form kapandığında Excel havada asılı kalmasın.


  Ad Soyad
  Yorum