Kuidas avada Delphist Exceli leht. Excelist Delphisse. Töölehe objekti (lehe) meetodid

IN seda arvustust Arutatakse põhistruktuure, mis võimaldavad teil DELPHI-st Exceli töövihikule juurde pääseda.

EXCEL-i raamatule juurdepääsu korraldamine

Programmis MS exceliga suhtlemiseks peate kasutama ComObj moodulit
kasutab ComObj;
ja deklareerige muutuja, et pääseda juurde järgmist tüüpi MS excelile:
var Excel: Variant;

Lihtsamal juhul saab Exceli muutuja lähtestada järgmiselt:
Excel:= CreateOleObject("Excel.Application");

Uue raamatu loomine:
Excel.Workbooks.Add;

Avamine olemasolev raamat(kus tee on tee failini xls laiendus.):
Excel.Workbooks.Open;

Olemasoleva töövihiku kirjutuskaitstud avamiseks toimige järgmiselt.
Excel.Workbooks.Open;

Exceli sulgemine:
Excel.ActiveWorkbook.Close;
Excel.Application.Quit;

Näiteks Exceli taotluste (kinnitused, teatised) blokeerimine blokeerige faili salvestamise taotlus:
Excel.DisplayAlerts:=Vale;

Exceli kuvamine ekraanil:
Excel.Visible:= Tõene;
või peida:
Excel.Visible:= Vale;

Aktiivse Exceli lehe sisu printimine:
Excel.ActiveSheet.PrintOut;

Andmete lugemine/kirjutamine EXCELis

Praeguse Exceli töövihiku lahtrile pääsete juurde järgmiselt.
Excel.Range["B2"]:="Tere!";- väärtuse kirjutamiseks lahtrisse või
s:=Excel.Range["B2"]; - lugemiseks,
kus B2 on lahtri aadress.

Või kasutades R1C1 lingi stiili:
Excel.Range]:="Tere!";, kus on lahtri koordinaat.

Üleüldse, Exceli lahter Saate määrata mis tahes väärtuse (tähemärk, täisarv, murdosa, kuupäev) ja Excel määrab lahtris vaikevormingu.

Vormindage lahtrid EXCELIS

Järgmiseks tööks saate valida (valida) lahtrite rühma järgmiselt:
Excel.Range, Excel.Cells].Select;
või
Excel.Range["A1:C5"].Vali;
sel juhul valitakse ala, mis asub lahtrite A1 ja C5 vahel.

Pärast valiku tegemist saate määrata:
1) rakkude ühendamine
Excel.Selection.MergeCells:=Tõene;
2) sõnamurdmine
Excel.Selection.WrapText:=Tõene;
3) horisontaalne joondamine
Excel.Selection.HorizontalAlignment:=3;
Kui see on seatud väärtusele 1, kasutatakse vaikejoondust, kui see on seatud väärtusele 2, on joondus vasakule, 3 on keskel ja 4 on parem.
4) vertikaalne joondus
Excel.Selection.VerticalAlignment:=1;
määratud väärtused on samad, mis horisontaalse joonduse puhul.
5) ääris lahtrite jaoks

Kui see on seatud väärtusele 1, joonistatakse lahtri piirid õhukeste pidevate joontega.
Lisaks saate määrata atribuudi Piirid väärtused, näiteks 3. Seejärel määratakse valikuploki jaoks ainult ülemine piir:
Excel.Selection.Borders.LineStyle:=1;
Atribuudi Borders väärtus määrab lahtri servade erineva kombinatsiooni.
Mõlemal juhul saate kasutada väärtusi vahemikus 1 kuni 10.

Paroolide kasutamine EXCELIS

Aktiivsele töövihikule parooli saab määrata järgmiselt.
proovige
// proovige parooli seada
Excel.ActiveWorkbook.protect("pass");
välja arvatud
// toiminguid, kui parooli määramise katse ebaõnnestub
lõpp;

kus pass on raamatu jaoks määratav parool.

Parooli eemaldamine raamatust on sarnane, kasutage käsku
Excel.ActiveWorkbook.Unprotect("pass");

Aktiivse lehe parooli määramine või eemaldamine Exceli töövihikud toodetud meeskondade poolt
Excel.ActiveSheet.protect("pass"); // Määra parool
Excel.ActiveSheet.Unprotect("pass"); // parooli eemaldamine

kus pass on raamatu kaitsmiseks määratud parool.

Abitoimingud EXCELIS

Ridade eemaldamine nihutusega üles:
Excel.Rows["5:15"].Vali;
Excel.Selection.Delete;

Nende toimingute tegemisel kustutatakse read 5 kuni 15.

Kinnitatava ala määramine aktiivne leht Excel
// vabastage ala, kui see oli määratud
Excel.ActiveWindow.FreezePanes:=Vale;
// vali soovitud lahter, V sel juhul D3
Excel.Range["D3"].Vali;
// määrake külmutatav ala
Excel.ActiveWindow.FreezePanes:=Tõene;

Head tööd!

Selles ülevaates käsitletakse põhilisi konstruktsioone, mis võimaldavad teil Delphist Exceli töövihikule juurde pääseda.

EXCEL-i raamatule juurdepääsu korraldamine

MS Exceliga programmis suhtlemiseks peate kasutama moodulit ComObj ja deklareerima muutuja, et pääseda juurde MS Exceli varianditüübile.

kasutab ComObj;
var Excel: Variant;

Lihtsamal juhul saate Exceli muutuja lähtestada järgmiselt:

Excel:= CreateOleObject("Excel.Application");

Uue raamatu loomine:

Excel.Workbooks.Add;

Olemasoleva raamatu avamine (kus tee on xls-laiendiga faili tee):

Excel.Workbooks.Open;

Olemasoleva töövihiku kirjutuskaitstud avamiseks tehke järgmist.

Excel.Workbooks.Open;

Exceli sulgemine:

Excel.ActiveWorkbook.Close;
Excel.Application.Quit;

Exceli taotluste (kinnituste, teavituste) blokeerimine, näiteks faili salvestamise taotluse blokeerimine:

Excel.DisplayAlerts:=Vale;

Exceli kuvamine või peitmine ekraanil:

Excel.Visible:= Tõene;
Excel.Visible:= Vale;

Aktiivse Exceli töölehe sisu printimine:

Excel.ActiveSheet.PrintOut;

Andmete lugemine/kirjutamine EXCELis

Praeguse Exceli töövihiku lahtrile pääsete juurde järgmiselt.

Excel.Range["b2"]:="Tere!"; // lahtrisse väärtuse kirjutamine
s:=Excel.Range["b2"]; // väärtuse lugemine lahtrist

Kus b2 on lahtri aadress.

Või kasutades R1C1 lingi stiili:

Excel.Range]:="Tere!";

Kus on lahtri koordinaat.

Üldiselt saate Exceli lahtrile määrata mis tahes väärtuse (tähemärk, täisarv, murdosa, kuupäev) ja Excel määrab lahtris vaikevormingu.

Vormindage lahtrid EXCELIS

Järgmiseks tööks saate valida (valida) lahtrite rühma järgmiselt:

Excel.Range, Excel.Cells].Select;
// kas
Excel.Range["A1:C5"].Vali;

Sel juhul valitakse ala, mis asub lahtrite A1 ja C5 vahel.

Pärast valiku tegemist saate määrata:
1) Lahtrite ühendamine:

Excel.Selection.MergeCells:=Tõene;

2) Reamurdmine:

Excel.Selection.WrapText:=Tõene;

3) Horisontaalne joondamine:

Excel.Selection.HorizontalAlignment:=3;

Kui see on seatud väärtusele 1, kasutatakse vaikejoondust, kui see on seatud väärtusele 2, on joondus vasakule, 3 on keskel ja 4 on parem. 4) Vertikaalne joondus

Excel.Selection.VerticalAlignment:=1;

Määratud väärtused on samad, mis horisontaalse joonduse puhul.
5) Lahtrite ääris:

Kui see on seatud väärtusele 1, joonistatakse lahtri piirid õhukeste pidevate joontega.
Lisaks saate määrata atribuudi Piirid väärtused, näiteks 3. Seejärel määratakse valikuploki jaoks ainult ülemine piir:

Excel.Selection.Borders.LineStyle:=1;

Piiride vara väärtus täpsustab erinev kombinatsioon raku servad.
Mõlemal juhul saate kasutada väärtusi vahemikus 1 kuni 10.

Paroolide kasutamine EXCELIS

Aktiivsele töövihikule parooli saab määrata järgmiselt.

proovige
// proovige parooli seada
Excel.ActiveWorkbook.protect("pass");
välja arvatud
// toiminguid, kui parooli määramise katse ebaõnnestub
lõpp;

Kus pass on raamatu jaoks määratav parool.

Parooli eemaldamine raamatust on sarnane, kasutage käsku

Excel.ActiveWorkbook.Unprotect("pass");

Exceli töövihiku aktiivse lehe parooli määramine ja eemaldamine toimub käskude abil

Excel.ActiveSheet.protect("pass"); // Määra parool
Excel.ActiveSheet.Unprotect("pass"); // parooli eemaldamine

Kui pass on raamatu kaitsmiseks seatud parool.

Abitoimingud EXCELIS

Ridade kustutamine ülespoole nihutamisega (nende toimingute tegemisel kustutatakse read vahemikus 5 kuni 15):

Excel.Rows["5:15"].Vali;
Excel.Selection.Delete;

Aktiivsel Exceli töölehel külmutusala määramiseks tehke järgmist.

// vabastage ala, kui see oli määratud
Excel.ActiveWindow.FreezePanes:=Vale;
// valige soovitud lahter, antud juhul D3
Excel.Range["D3"].Vali;
// määrake külmutatav ala
Excel.ActiveWindow.FreezePanes:=Tõene;


Delphi EXCELiga töötamine

Selles artiklis näitan teile, kuidas nendega töötada MS Excel Delphist. See artikkel võib olla kasulik inimestele, kes soovivad õppida, kuidas luua erinevaid Exceli aruanded sisse kirjutatud programmidest Delfi. Artikkel sisaldab töötamiseks vajalikke viiteandmeid MS Excel. Siit leiate teavet selle kohta, kuidas:

Ühendage ja lahutage Exceli liides õigesti;
- kuidas muuta fondi suurust, värvi ja tüüpi;
- kuidas valida, liita, täita ja korrutada lahtrivahemikku;
- kuidas teksti pöörata ja tsentreerida;
- kuidas joonistada lahtri piire;
- Kuidas sisestada valem lahtrisse ja palju muud...

Niisiis, alustame...

Töötame läbi mooduli ComObj, selle jaoks sisse kasutab vaja lisada moodul ComObj ja moodul Excel_TLB(Sest MS Excel 2007).

Kasutab……, ComObj, Excel_TLB;

Moodul Excel_TLB sisaldab vajalikku konstandid koos töötada Excel, ei pea te seda ühendama, kuid siis peate käsitsi sisestama selle mooduli kõigi kasutatud konstantide väärtused. Konstantide väärtused leiate moodulist või Internetist, kuid erinevad versioonid MS Excel nad on erinevad.
Tähelepanu!!! Moodul Excel_TLB teistes versioonides MS Excel võib nimetada erinevalt. Enne mooduli ühendamist Excel_TLB, peate raamatukogu importima Excel. Selleks valige Komponent->Impordi komponent->Impordi tüübiteek-> leiame MS Excel ja järgige juhiseid.

Muutujate kirjelduse jaotises peame kirjeldama tüüpi muutuja Variant või OleVariant liidese ühendamiseks Excel. Kirjeldasin muutujat excel.

Vorm1: Tvorm1;
excel : variant;// Muutuja, milles objekt luuakse EXCEL

Dokumendi loomine

Tähelepanu!!! Liideseobjekti loomisel mähkige loomise protseduur veakäsitlusmoodulisse:
proovige
luua liides;
koostada aruanne;
vabastage liides;
Välja arvatud
käsitseda vead;
vabastage liides;
lõpp;

proovige
// looge EXCEL-objekt

// Et mitte esitada küsimust dokumendi salvestamise kohta
excel.DisplayAlerts:= false;

// luua uus dokument töövihik
excel.WorkBooks.Add;

//või laadige see programmi kataloogist
excel.WorkBooks.Open(GetCurrentDir() + "\report.xls");

(GetCurrentDir() - tagastab tee programmiga kataloogi)

// Tee see nähtavaks seda funktsiooni pärast silumist ja testimist on parem seda kasutada lõpus, pärast aruande genereerimist (see kiirendab andmete aruandesse väljastamist)
excel.Visible:= true;

//seadke R1C1 vormingus valemite tüüp
excel.Application.ReferenceStyle:= xlR1C1;

// määrake valemi tüüp formaadis A1
excel.Application.ReferenceStyle:= xlA1;

// Määrake esimese ja teise lehe nimi
excel.WorkBooks.WorkSheets.Name:= "Aruanne1";
excel.WorkBooks.WorkSheets.Name:= "Aruanne2";

//määrab esimese ja neljanda veeru numbrivormingu numbrivormingu
excel.WorkBooks.WorkSheets.Columns.NumberFormat:= "0.00";
excel.WorkBooks.WorkSheets.Columns.NumberFormat:= "0.0";

// määrake esimese ja teise veeru laius
excel.WorkBooks.WorkSheets.Columns.ColumnWidth:= 10;
excel.WorkBooks.WorkSheets.Columns.ColumnWidth:= 20;

// määrake esimese rea stiil, värv, suurus ja fondi tüüp
excel.WorkBooks.WorkSheets.Rows.Font.Bold:= Tõene; //paksuke
excel.WorkBooks.WorkSheets.Rows.Font.Color:= clRed; // värv punane
excel.WorkBooks.WorkSheets.Rows.Font.Size:= 12; //suurus 12
excel.WorkBooks.WorkSheets.Rows.Font.Name:= "Times New Roman"; //font

//määrake lahtri väärtused 1.4 ja 2.4 (1 - rida, 4 - veerg)
excel.WorkBooks.WorkSheets.Cells := "Ja nii saate sisestada lahtrisse väärtuse";
excel.WorkBooks.WorkSheets.Cells := "Ja nii saate sisestada lahtrisse väärtuse";

//valemi "=b5+c4" sisestamine lahtrisse "A12"
excel.WorkBooks.WorkSheets.Range["A12"].Valem:="=b5+c4";

// Joondage esimene rida vertikaalselt keskele
excel.WorkBooks.WorkSheets.Rows.VerticalAlignment:= xlCenter;

// Joondage esimene rida horisontaalselt keskele
excel.WorkBooks.WorkSheets.Rows.HorizontalAlignment:= xlCenter;

// Joondage lahter vasakule
excel.WorkBooks.WorkSheets.Cells.HorizontalAlignment:= xlLeft;

// Joondage lahter paremale
excel.WorkBooks.WorkSheets.Cells.HorizontalAlignment:= xlRight;

// Ühenda lahtrid "A1:A8"
excel.WorkBooks.WorkSheets.Range["A1:A8"].Merge;

// Pöörake teise rea sõnu 90 kraadise nurga all
excel.WorkBooks.WorkSheets.Rows.Orientation:= 90;

// Pöörake sõnu 45-kraadise nurga all lahtrivahemiku "B3:D3" jaoks
excel.WorkBooks.WorkSheets.Range["B3:D3"].Orientatsioon:= 45;

//tõmmake valitud vahemiku piirid vasakule
excel.Selection.Borders.LineStyle:= xlContinuous; // kindla joonega stiil
excel.Selection.Borders.Weight:= xlMedium;// joone paksus

//tõmmake valitud vahemiku ülemise piirid

excel.Selection.Borders.Weight:= xlMedium;

//tõmmake valitud vahemiku piirid madalamale

excel.Selection.Borders.Weight:= xlMedium;

//tõmmake valitud vahemiku piirid paremale

excel.Selection.Borders.Weight:= xlMedium;

//tõmmake valitud vahemiku piirid vertikaalselt sisse

excel.Selection.Borders.Weight:= xlMedium;

//tõmmake valitud vahemiku piirid horisontaalselt sisse

excel.Selection.Borders.Weight:= xlMedium;

//valitud vahemiku automaatne täitmine
//näiteks täitke lahtrite ala "A10:C10" sõnaga "tere"
//ja korrutage see veel viie lahtriga "A10:C15"

excel.WorkBooks.WorkSheets.Range["A10:C10"].Value:="tere";

//valige lahtrite vahemik "A10:C10"
excel.WorkBooks.WorkSheets.Range["A10:C10"].Vali;

//täitke (kopeerige) lahtrite ala "A10:C15" automaatselt valitud vahemikuga
excel.selection.autofill(excel.WorkBooks.WorkSheets.Range["A10:C15"],xlFillDefault);

//Keela hoiatused, et mitte esitada küsimusi salvestamise ja muu kohta
excel.DisplayAlerts:= Vale;

//salvestage dokument asukohta Exceli vorming 97-2003
excel.ActiveWorkBook.Saveas(GetCurrentDir() + "\report.xls",xlExcel8);

//salvestage dokument praeguses Excel 2007 vormingus
excel.ActiveWorkBook.Saveas(GetCurrentDir() + "\report.xlsx");

//sulgege kõik raamatud
excel.Töövihikud.Sule;

//sulgege Excel
excel.Application.quit;

//vabastage liidesed
excel:= Määramata;

//käsitseda vigu

//sulgege kõik raamatud
excel.Töövihikud.Sule;

//sulgege Excel
excel.Application.quit;

//vabastage liidesed
excel:= Määramata;
lõpp;
lõpp;

Töötades koos Exceli leht saame kasutada järgmisi valikuid:
- töötage piirkonnaga ["B3:D3"];
- töötage lahtriga Cells, kus 2 on rida, 4 on veerg;
- töö ridadega Rows või ridade rida Ridad["1:5"];
- töötada veergudega Veerud või veergude vahemikuga Veerud["A:I"];

Vahemik ["A1"] ja lahtrid tähendavad sama asja.

Pärast dokumendi loomist või tõrke ilmnemist peate liidesed õigesti vabastama.
Muidu sulgemisel Excel see kaob ekraanilt, kuid kui avate tegumihalduri, jääb see seal rippuma ja kui seda protsessi ei lõpetata, siis iga uue käivitamisega koguneb neid aina rohkem, kuni arvuti hakkab külmuma. Seetõttu on hädavajalik vabastada kõik sellega seotud liidesed Excel oma raamatute ja lehtedega.

Näiteks nii:
//sulgege kõik raamatud
excel.Töövihikud.Sule;

//sulgege Excel
excel.Application.quit;

//vabastage liidesed
sheet:=Määramata; //lehe liides, kui see loodi
WorkBook:= Määramata;//töövihiku liides, kui see on loodud
excel:= Määramata;//pakkumise enda liides, kui see loodi

Allpool on näide sisendi väljundist Excel Delphist üksikasjalike kommentaaridega korrutustabelid.

Ühik Ühik1;

Kasutab
Windows, sõnumid, SysUtils, variandid, klassid, graafika, juhtnupud, vormid,
Dialoogid, comobj, StdCtrls, Excel_TLB;

Tüüp
Tvorm1 = klass (Tvorm)
Nupp1: TButton;
protseduur Button1Click(Saatja: TOobject);
privaatne
(eraavaldused)
avalik
(Avalikud deklaratsioonid)
lõpp;

Var
Vorm1: Tvorm1;
excel: variant; // Muutuja, milles EXCEL-objekt luuakse
MyData: variant; // Muutuja, milles korrutustabel moodustatakse
i,j:täisarv;
rakendamine

Protseduur Tvorm1.Button1Click(Saatja: TObject);
alustada
proovige
// EXCEL-objekt
excel:= CreateOleObject("Excel.Application");
// Et mitte esitada küsimust dokumendi salvestamise kohta
excel.DisplayAlerts:= false;
// uus dokument
excel.WorkBooks.Add;

//variandi massiivi deklareerimine
MyData:= VarArrayCreate(,variant);
I jaoks:= 1 kuni 9 teha
J jaoks: = 1 kuni 9 teha
Minu andmed:=i*j;

// Ühenda lahtrid "A1:I1"
excel.WorkBooks.WorkSheets.Range["A1:I1"].Merge;
//Kirjuta pealkiri
excel.WorkBooks.WorkSheets.Range["A1"].Value:="Korrutustabelid";
// Joondage pealkiri keskele
excel.WorkBooks.WorkSheets.Range["A1"].HorizontalAlignment:= xlCenter;
// määrake veergude laius A kuni I
excel.WorkBooks.WorkSheets.Columns["A:I"].ColumnWidth:= 3;

//valige korrutustabeli ala ["A2:I10"] ja joonista piirid
excel.WorkBooks.WorkSheets.Range["A2:I10"].select;
//tõmmake valitud vahemiku piirid vasakule
excel.Selection.Borders.LineStyle:= xlContinuous; // rea stiil on kindel
excel.Selection.Borders.Weight:= xlThin // joone paksus
//tõmmake valitud vahemiku ülemise piirid
excel.Selection.Borders.LineStyle:= xlContinuous;
excel.Selection.Borders.Weight:= xlThin;
//tõmmake valitud vahemiku piirid madalamale
excel.Selection.Borders.LineStyle:= xlContinuous;
excel.Selection.Borders.Weight:= xlThin;
//tõmmake valitud vahemiku piirid paremale
excel.Selection.Borders.LineStyle:= xlContinuous;
excel.Selection.Borders.Weight:= xlThin;
//tõmmake valitud vahemiku piirid vertikaalselt sisse
excel.Selection.Borders.LineStyle:= xlContinuous;
excel.Selection.Borders.Weight:= xlThin;
//tõmmake valitud vahemiku piirid horisontaalselt sisse
excel.Selection.Borders.LineStyle:= xlContinuous;
excel.Selection.Borders.Weight:= xlThin;

//määrake variandi massiivi MyData väärtustele vahemik ["A2:I10"], see kiirendab oluliselt tööd kui väljund //lahtripõhiselt

Excel.WorkBooks.WorkSheets.Range["A2:I10"].Value:=MyData;

// Tee see nähtavaks
excel.Visible:= true;
//vabastage liidesed
MyData:= Määramata;
excel:= Määramata;
Välja arvatud
showmessage("Tähelepanu! MS Exceli rakenduse loomisel ilmnes viga");
//sulgege Excel
excel.Application.quit;
//vabastage liidesed
MyData:= Määramata;
excel:= Määramata;
lõpp;
lõpp;

Selle artikli kirjutamisel kasutati saidi materjali

Saate peatuda selle mudeli igas etapis ja uurida seda kuude kaupa. Kui on eriline vajadus mingeid täiendavaid omadusi ja meetodeid uurida, tuleme kindlasti tagasi ja uurime. Nüüd alustame Delphis töövihiku lehtedega töötamist.

2. Kuidas aktiveerida Exceli töövihiku lehte?

Nagu teate tühja töövihiku loomisel Excel lisab sellele raamatule automaatselt 3 tühi leht. Konkreetse lehega töötamiseks ( Tööleht või lihtsalt Leht) tuleb see leht aktiveerida. Üks võimalus töövihiku lehe aktiveerimiseks Excel V Delfi järgnevalt:

sourcestring rsEInvalidSheetIndex = "Töövihikute jaoks on määratud vigane register. Lehe aktiveerimine katkestati"; rsEInvalidSheetActivate = "Lehe aktiveerimine lõpetati veaga"; function ActivateSheet(WBIndex: integer ; SheetName: string ) : tõeväärtus ; var i: täisarv ; algus Tulemus: = false; kui WBIndex › MyExcel. Töövihikud. Loenda ja tõsta Erand. Loo (rsEInvalidSheetIndex) ; proovige i : = 1 MyExcelile. Töövihikud [WBIindex]. Lehed. Loendage, kui AnsiLowerCase (MyExcel. WorkBooks [ WBIndex]. Sheets . Item [ i]. Name ) = AnsiLowerCase (SheetName), seejärel alustage MyExceliga. Töövihikud [WBIindex]. Lehed. Üksus [i]. Aktiveerige; Tulemus: = tõene; murda; lõpp ;

välja arvatud tõsta Erand. Loo (rsEInvalidSheetActivate) ; lõpp ; lõpp ; Siin on funktsiooni parameetrid seatud kogus töövihiku indeksile (WBIndex).

Töövihikud ja lehe nimi. Soovi korral saate sama lehe kogus indeksi järgi aktiveerida

Töölehed - samal ajal on funktsioon ise veidi lihtsustatud (lehe nime kontrollimise tingimus pole vajalik). Samuti, kui olete selles kindel

Sel hetkel

Kuna vajalik töövihik on aktiivne, saate vältida lisamuutuja (töövihiku indeks WBIndex) kasutamist ja aktiveerida lehe järgmiselt: Tööleht.

MyExcel. ActiveWorkBook. Lehed. Üksus [i]. Aktiveerige;

Vaatame nüüd lähemalt, milliseid meetodeid objekt kasutab Tööleht.

3. Exceli töölehe meetodid

Nüüd vaatame objekti üksikasjalikumalt Tööleht Joonisel on kujutatud meetodeid, mida olen oma töös kunagi kasutanud. 30 Kogu objekt

kogusummad erinevaid meetodeid, mida saate kasutada.
meetod Kirjeldus
Aktiveerige Muudab praeguse lehe aktiivseks. Oleme juba arutanud, kuidas meetod töötab. arvutab kõik välja avatud raamatud, konkreetne leht raamatus või
määratud vahemik
rakud lehel
kontrollige valitud lehel õigekirja Tööleht
salvestab kõik faili muudatused
kustutab praeguse lehe
lehe valik
kopeerib lehe töövihiku teise kohta kleebib lõikepuhvri sisu töölehel tagastab objekti, mis esindab kas ühte diagrammi (objekt ChartObject
Diagrammiobjektid ) lehel lehe liigutamine. See meetod on meetodiga sarnane

Kopeeri

. Ainus erinevus on see, et pärast kleepimist kustutatakse kopeeritud leht raamatust Vaatleme nüüd kõiki ülaltoodud meetodeid. Allpool, nagu Tööleht väljendus

leht peaks välja ulatuma (

), kui pole märgitud teisiti.

Arvutusmeetod Töövihiku, lehe või lahtrite vahemiku arvutamine. Väärib märkimist, et meetod kõne

Arvutama

allolev koodilõik arvutab aktiivse lehe

MyExcel. ActiveWorkBook. ActiveWork Sheet. Arvutama

Arvutame kõik veergude A, B ja C valemid:

MyExcel. ActiveWorkBook. ActiveWork Sheet. Kasutatud vahemik. Veerud ("A:C"). Arvutama

Õigekirja kontrollimise meetod

Meetodikutse näeb välja selline:

väljendus. Õigekirja kontrollimine (kohandatud sõnastik, suurtähtede ignoreerimine, alati soovitus, õigekiri)

Samal ajal nagu Vaatleme nüüd kõiki ülaltoodud meetodeid. leht peaks välja ulatuma ( Tööleht).

Parameeter Tüüp erinevaid meetodeid, mida saate kasutada.
Kohandatud sõnastik Variant Koos string, mis määrab kasutajasõnastiku faili nime, mida võetakse arvesse, kui seda sõna põhisõnastikust ei leita. Kui see argument välja jäetakse, kasutatakse vaikesõnastikku
Ignoreeri suurtähti Variant Tõsi, kui vaja, siis nii et Microsoft Excel vahele jätnud sõnad, mis olid kirjutatud suurtähtedega. Vale selleks, et Microsoft Excel kontrollige kõiki sõnu. Kui see argument välja jätta, siis praegused seaded Excel.
Alati Soovita Variant Tõsi, selleks, et Microsoft Excel kuvas valesti kirjutatud sõna tuvastamisel muude kirjaviiside soovituste loendi. Vale, kuni Microsoft Excel ootas sisendit õige kirjapilt. Kui see argument välja jäetakse, kasutatakse praeguseid sätteid.
SpellLang Variant sõnastiku keel. Võib võtta ühe konstandi väärtused MsoLanguageID , näiteks vene keele jaoks SpellLang = 1049, inglise keeles (USA) SpellLang = 1033 jne. Lisateave keeleidentifikaatorite kohta.

Kuidas kontrollida grammatikat Delphis Exceli lehel?

MyExcel. ActiveWorkBook. ActiveWork Sheet. Check Spelling (CustomDictionary:=EmptyParam, IgnoreUppercase:=false, AlwaysSuggest:=EmptyParam, SpellLang:=1033)

sel juhul MS Excel kontrollib praegust lehte, sealhulgas kontrollib sõnu suured tähed. Kinnituskeel on vene keel. Pange tähele, et meetodi kutsumiseks määrasime selgesõnaliselt, millise parameetri väärtuse määrata. Veelgi enam, mis tahes parameetri vahelejätmiseks kasutasime EmptyParam(tühi parameeter), mis on sees Delfi on tüüpi muutuja OleVariant.

On selge, et see meetodite kutsumise meetod (koos kõigi parameetrite selgesõnalise näitamisega) ei ole teie jaoks täiesti mugav ja seda ei kasutata inglise keeles programmeerimisel laialdaselt. Delfi , kuid sellest hoolimata on see ainus viis ja mitte muul viisil kasutatud meetodite kutsumiseks Excel .

SaveAs meetod

Exceli töölehe töölehe salvestamine.

Meetodi kõne:

expression.SaveAs(Failinimi, failivorming, parool, WriteResPassword, ReadOnlyRecommended, Create Backup, AddToMru, TextCodepage, TextVisualLayout, Local)
Parameeter Tüüp erinevaid meetodeid, mida saate kasutada.
Faili nimi Variant string, mis tähistab salvestatava faili nime. Tuleb täpsustada täis tee faili, vastasel juhul salvestatakse fail kausta Excel .
Failiformaat Variant Salvestamisel kasutatav failivorming. Vaikimisi salvestatakse fail teie valitud vormingus viimane kord V Excel.
Parool Variant faili parool (mitte rohkem kui 15 tähemärki). Parool on tõstutundlik.
WriteResPassword Variant parool, mida kasutatakse töövihikus muudatuste tegemiseks. Kui parooli pole määratud, avatakse raamat kirjutuskaitstud režiimis.
Ainult lugemiseks soovitatav Variant kui parameeter on võrdne Tõsi, siis ilmub faili avamisel ekraanile teade, mis soovitab faili avada kirjutuskaitstuks.
Loo varukoopia Variant Tõsi, et luua varukoopiafail
AddToMru Variant Tõsi, et lisada hiljuti loendisse salvestatud faili nimi failid avada peamenüüs Excel
TextCodepage Ja TextVisualLayout Variant praegu ei kasutata ja säilitatakse tagasiühilduvuse tagamiseks
Kohalik Variant Mitte nõutav parameeter, on vaikimisi võrdne Vale.Tähendus Tõsi- failide salvestamine Microsofti keel Excel (sh juhtpaneeli seaded).

MyExcel.ActiveWorkBook.ActiveWorkSheet.SaveAs("C\:MyExcelFile.xls")

Sel juhul kasutatakse salvestamisel vaikesätteid.

Kui teil on vaja salvestada Exceli fail teises vormingus, seejärel parameetris Failiformaat võite kasutada ühte loenduri väärtustest xlFileFormat . Mõned tähendused xlFileFormat on esitatud allolevas tabelis:

Nimi Tähendus erinevaid meetodeid, mida saate kasutada. Faililaiend
xlCSV6 CSV*.csv
xlExcel856 Excel 97-2003 töövihik*.xls
xlHtml44 HTML-vormingus*.htm; *.HTML
xlOpenDocumentSpreadsheet60 OpenDocumenti arvutustabel*.ods
xlOpenXMLWorkbook51 Avage XML-raamat*.xlsx

Kirjutame väikese protseduuri, mis võimaldab salvestada Exceli lehe erinevates vormingutes:

const xlCSV = 6; xlExcel8 = 56; xlHtml = 44; xlOpenDocumentSpreadsheet = 60 ; xlOpenXMLWorkbook = 51; sourcestring rsESaveActiveSheet = "Aktiivse töölehe salvestamisel tekkis viga"; procedúra SaveAs(const AFileName: TFileName; AFileFormat: integer ) ; alusta MyExceli proovimist. ActiveWorkBook. ActiveSheet. SaveAs(AFileName, AFileFormat); välja arvatud tõsta Erand. Loo(rsESaveActiveSheet); lõpp ;

lõpp ;

Kustuta meetod

Kustutage Exceli tööleht.

MyExcel.ActiveWorkBook.WorkSheets.Item.Select

Valib töövihiku kolmanda lehe

Kopeerimismeetod

Meetodi kõne:

Kopeerige leht töövihiku teise kohta.

väljendus. Kopeeri (enne, pärast) Kui aga kasutate parameetrit Enne , siis ei tohiks te seda kasutada Pärast

Kuidas kopeerida Exceli leht Delphisse?

MyExcel.ActiveWorkBook.WorkSheets.Item.Copy(After:=MyExcel.ActiveWorkBook.WorkSheets.Item)

Sel juhul kopeeritakse ja kleebitakse esimene leht pärast kolmandat.

Kleepimise meetod

Kleepige lõikepuhvri sisu Exceli lehele.

Meetodi kõne:

väljendus.Kleebi (sihtkoht, link)

Kuidas kleepida lõikepuhvri sisu Delphis Exceli lehele?

MyExcel.ActiveWorkBook.ActiveSheet.Paste(Sihtkoht:=MyExcel.ActiveWorkBook.ActiveSheet.Range("D1:D5"))

Sel juhul lisatakse puhvri sisu veergu D ridadesse 1 kuni 5. Tuleb märkida, et kui puhvri sisu näiteks tingimust ei rahulda, on puhvris ainult 1 number, siis erandlik olukord.

meetod tagastab objekti, mis esindab kas ühte diagrammi (objekt

Tagastab objekti, mis esindab kas ühte diagrammi (objekt kleebib lõikepuhvri sisu töölehel) või kõigi diagrammide kogum (objekt tagastab objekti, mis esindab kas ühte diagrammi (objekt) lehel.

Meetodi kõne:

väljend.ChartObjects

Kuidas saada graafikut Delphis Exceli lehel?

MyExcel.ActiveWorkBook.ActiveSheet.ChartObjects

Sel juhul saab kätte esimene.

Liikumise meetod

Lehe liigutamine. See meetod on sarnane . Ainus erinevus on see, et pärast kleepimist kustutatakse kopeeritud leht raamatust.

Siin on osa meetoditest, mida olen kunagi töötamisel kasutanud Excel V Delfi . Üldiselt võib öelda, et sisse Delfi saab kontrollida MS Excel mitte halvem kui selle rakendusega otse töötades, peamine on mitte unustada, milline meetod või omadus mille eest vastutab :). Noh, et mitte unustada, koostasin väikese MindMapi, mida perioodiliselt täiendan ja uuendan. Linki järgides näete Exceli objektid, nende poolt kasutatavad meetodid, meetodite parameetrid ja nende tüübid vastavalt Delphi tüübid. Üldiselt väike graafiline petuleht neile, kellele meeldib Delphis Excelis nokitseda.

Selles artiklis vaatleme põhilisi konstruktsioone, mis võimaldavad teil Delphist juurde pääseda MS Exceli töövihikule.

EXCEL-i raamatule juurdepääsu korraldamine

Programmis MS Exceliga suhtlemiseks peate kasutama ComObj moodulit

Kasutab ComObj;

ja deklareerida muutuja juurdepääsuks MS-ile Järgmisena Excel tüüp:

Var MsExcel: Variant;

Lihtsamal juhul saab Exceli muutuja lähtestada järgmiselt:

MsExcel:= CreateOleObject("Excel.Application");

Uue raamatu loomine:

MsExcel.Workbooks.Add;

Olemasoleva raamatu avamine (kus tee on xls-laiendiga faili tee):

MsExcel.Workbooks.Open;

Olemasoleva töövihiku kirjutuskaitstud avamiseks tehke järgmist.

MsExcel.Workbooks.Open;

Exceli sulgemine:

MsExcel.ActiveWorkbook.Close; MsExcel.Application.Quit;

Ms Exceli päringute (kinnituste, märguannete) blokeerimine, näiteks faili salvestamise taotluse blokeerimine:

MsExcel.DisplayAlerts:=Vale;

Exceli kuvamine ekraanil:

MsExcel.Visible:= Tõene;

või peida:

MsExcel.Visible:= Vale;

Aktiivse MS Exceli lehe sisu printimine:

MsExcel.ActiveSheet.PrintOut;

Andmete lugemine/kirjutamine EXCELis

Praeguse Exceli töövihiku lahtrile pääsete juurde järgmiselt.

Lahtrisse väärtuse kirjutamiseks toimige järgmiselt.

MsExcel.Range["B2"]:="Tere!";

Lahtrist väärtuse lugemiseks toimige järgmiselt.

S:=MsExcel.Range["B2"];

Kus B2- raku aadress.

Või kasutades R1C1 lingi stiili:

MsExcel.Range]:="Tere!";

Kus - raku koordinaat.

Üldiselt saate Exceli lahtrile määrata mis tahes väärtuse (tähemärk, täisarv, murdosa, kuupäev) ja Ms Excel määrab lahtris vaikevormingu.

Vormindage lahtrid EXCELIS

Järgmiseks tööks saate valida (valida) lahtrite rühma järgmiselt:

MsExcel.Range, MsExcel.Cells].Select; // või MsExcel.Range["A1:C5"].Vali;

sel juhul valitakse ala, mis asub lahtrite A1 ja C5 vahel.

Pärast valiku tegemist saate määrata lahtrite liitmise, reamurdmise ning horisontaalse ja vertikaalne joondamine:

// lahtrite liitmine MsExcel.Selection.MergeCells:=True; // mähkimine vastavalt MsExcel.Selection.WrapText:=True; // horisontaaljoondus MsExcel.Selection.HorizontalAlignment:=3; // vertikaalne joondus MsExcel.Selection.VerticalAlignment:=1;

Vertikaalsetele ja horisontaalne joondamine kasutatakse järgmisi väärtusi:

1 - kasutatakse vaikejoondust
2 - vasakpoolne joondus
3 - keskel
4 - paremal.

Lahtri piir

Kui see on seatud väärtusele 1, joonistatakse lahtri piirid õhukeste pidevate joontega.

Lisaks saate määrata atribuudi Piirid väärtused, näiteks 3. Seejärel määratakse valikuploki jaoks ainult ülemine piir:

MsExcel.Selection.Borders.LineStyle:=1;

Atribuudi Borders väärtus määrab lahtri servade erineva kombinatsiooni. Mõlemal juhul saate kasutada väärtusi vahemikus 1 kuni 10.

Paroolide kasutamine EXCELIS

Aktiivsele töövihikule parooli saab määrata järgmiselt.

Proovi // proovi määrata parool MsExcel.ActiveWorkbook.protect("pass"); välja arvatud // toimingud, kui parooli seadmise katse ebaõnnestub;

Kus üle andma- määrake raamatule parool.

Parooli eemaldamine raamatust on sarnane, kasutage käsku

MsExcel.ActiveWorkbook.Unprotect("pass");

Kus üle andma

Exceli töövihiku aktiivse lehe parooli määramine ja eemaldamine toimub käskude abil

MsExcel.ActiveSheet.protect("pass"); // parooli määramine MsExcel.ActiveSheet.Unprotect("pass"); // parooli eemaldamine

Kus üle andma- parool seatud raamatu kaitsmiseks.

Abitoimingud EXCELIS

Ridade eemaldamine nihutusega üles:

MsExcel.Rows["5:15"].Vali; MsExcel.Selection.;

Nende toimingute tegemisel kustutatakse read 5 kuni 15.

Määrake aktiivsel Exceli töölehel külmutusala

// vabastage ala, kui see oli määratud MsExcel.ActiveWindow.FreezePanes:=False; // vali soovitud lahter, antud juhul D3 MsExcel.Range["D3"].Select; // määrake ala külmutamine MsExcel.ActiveWindow.FreezePanes:=True;

Aktiivse Exceli töövihiku salvestamine