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 |
xlCSV | 6 | CSV | *.csv |
xlExcel8 | 56 | Excel 97-2003 töövihik | *.xls |
xlHtml | 44 | HTML-vormingus | *.htm; *.HTML |
xlOpenDocumentSpreadsheet | 60 | OpenDocumenti arvutustabel | *.ods |
xlOpenXMLWorkbook | 51 | 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.ChartObjectsKuidas 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