Jinsi ya kufungua karatasi bora kutoka Delphi. Kupata Excel kutoka Delphi

Unaweza kuacha katika kila hatua ya mtindo huu na kuisoma kwa miezi. Ikiwa kuna hitaji maalum la kusoma mali na njia zozote za ziada, hakika tutarudi na kusoma. Sasa, hebu tuanze kufanya kazi huko Delphi na laha za kitabu cha kazi.

2. Jinsi ya kuamsha karatasi ya kitabu cha Excel?

Kama unavyojua wakati wa kuunda kitabu cha kazi tupu Excel huongeza 3 kiotomatiki kwenye kitabu hiki karatasi tupu. Kufanya kazi na karatasi maalum ( Karatasi ya Kazi au kwa urahisi Laha) laha hii lazima iamilishwe. Njia moja ya kuamsha karatasi ya kitabu cha kazi Excel V Delphi kama ifuatavyo:

resourcesstring rsEInvalidSheetIndex = "Faharasa batili iliyobainishwa kwa Vitabu vya Kazi. Uwezeshaji wa laha umesitishwa"; rsEInvalidSheetActivate = "Uwezeshaji wa laha umekamilika kwa hitilafu"; kazi ActivateSheet(WBIndex: integer ; Jina la karatasi: kamba ) : boolean ; var i: nambari kamili; anza Matokeo : = uongo ; ikiwa WBIndex › MyExcel. Vitabu vya Kazi. Hesabu kisha uongeze Isipokuwa. Unda (rsEInvalidSheetIndex) ; jaribu kwa i : = 1 kwa MyExcel. Vitabu vya kazi [WBIndex]. Laha. Hesabu fanya ikiwa AnsiLowerCase (MyExcel. Vitabu vya Kazi [ WBIndex]. Laha . Kipengee [i]. Jina ) = AnsiLowerCase (SheetName) kisha uanzishe MyExcel. Vitabu vya kazi [WBIndex]. Laha. Kipengee[i]. Amilisha ; Matokeo: = kweli; mapumziko; mwisho; isipokuwa kuongeza Isipokuwa. Unda (rsEInvalidSheetActivate); mwisho; mwisho;

Hapa, vigezo vya kazi vimewekwa kwenye index ya kitabu cha kazi (WBIndex) katika mkusanyiko Vitabu vya Kazi na jina la karatasi.

Ikiwa unataka, unaweza kuamilisha laha sawa kwa faharasa kwenye mkusanyiko Karatasi za Kazi- wakati huo huo, kazi yenyewe imerahisishwa kidogo (hali ya kuangalia jina la karatasi haihitajiki).

Pia, ikiwa una uhakika wakati huu Kwa kuwa kitabu cha kazi unachohitaji kinafanya kazi, unaweza kuzuia kutumia kibadilishaji cha ziada (kitabu cha kazi WBIndex) na kuamsha karatasi kama hii:

MyExcel. ActiveWorkBook. Laha. Kipengee[i]. Amilisha ;

Sasa hebu tuangalie kwa karibu njia zinazotumiwa na kitu Karatasi ya Kazi.

3. Mbinu za karatasi za Excel

Sasa hebu tuangalie kitu kwa undani zaidi Karatasi ya Kazi.

Takwimu inaonyesha njia ambazo nimewahi kutumia katika kazi yangu.

Jumla ya kitu Karatasi ya Kazi jumla 30 njia tofauti unaweza kutumia.

Njia Maelezo
Washa Hufanya laha ya sasa kuwa hai. Tayari tumejadili jinsi njia hiyo inavyofanya kazi.
huhesabu kila kitu fungua vitabu, karatasi hususa katika kitabu, au masafa maalum seli kwenye karatasi
angalia tahajia kwenye karatasi iliyochaguliwa
huhifadhi mabadiliko yote kwenye faili
hufuta laha ya sasa Karatasi ya Kazi
uteuzi wa karatasi
kunakili karatasi kwenye eneo lingine kwenye kitabu cha mazoezi
hubandika yaliyomo kwenye ubao wa kunakili kwenye lahakazi
inarudisha kitu ambacho kinawakilisha ama mchoro mmoja (object ChatiObject ChatiVitu) kwenye karatasi
kusonga karatasi. Njia hii ni sawa na njia Nakili. Tofauti pekee ni kwamba baada ya kubandika, karatasi iliyonakiliwa inafutwa kutoka kwa kitabu

Sasa hebu tuangalie kila moja ya njia zilizowasilishwa hapo juu.

Chini, kama kujieleza karatasi inapaswa kutokea ( Karatasi ya Kazi), isipokuwa kama itaelezwa vinginevyo.

Mbinu ya kuhesabu

Kokotoa kitabu cha kazi, laha, au safu ya seli.

Ni muhimu kuzingatia kwamba njia wito Kokotoa inawezekana sio tu kwa karatasi maalum Vitabu vya kazi vya Excel. Wacha tuangalie chaguzi za kupiga njia ya Mahesabu.

var MyExcel: OleVariant; MyExcel. Kokotoa

kijisehemu cha msimbo kilicho hapa chini hukokotoa laha inayotumika

MyExcel. ActiveWorkBook. Karatasi ya Kazi. Kokotoa

Wacha tuhesabu fomula zote katika safu A, B na C:

MyExcel. ActiveWorkBook. Karatasi ya Kazi. UsedRange. Safu wima("A:C"). Kokotoa

Mbinu ya Kuchunguza Tahajia

Njia ya kupiga simu inaonekana kama hii:

kujieleza. CheckSpelling(CustomDictionary, IgnoreUppercase, AlwaysSuggest, SpellLang)

Wakati huo huo, kama kujieleza karatasi inapaswa kutokea ( Karatasi ya Kazi).

Kigezo Aina Maelezo
CustomDictionary Lahaja Na mfuatano unaobainisha jina la faili ya kamusi ya mtumiaji ambayo itazingatiwa ikiwa neno hilo halipatikani katika kamusi kuu. Hoja hii ikiachwa, kamusi chaguo-msingi itatumika
Puuza herufi kubwa Lahaja Kweli, ikiwa ni lazima, ili Microsoft Excel aliruka maneno ambayo yaliandikwa kwa herufi kubwa. Uongo ili Microsoft Excel angalia maneno yote. Ikiwa hoja hii itaachwa, basi mipangilio ya sasa Excel.
Pendekeza kila wakati Lahaja Kweli, ili Microsoft Excel ilionyesha orodha ya mapendekezo ya tahajia zingine wakati neno lililoandikwa vibaya lilipogunduliwa. Uongo, kwa Microsoft Excel alikuwa anasubiri pembejeo tahajia sahihi. Ikiwa hoja hii itaachwa, mipangilio ya sasa inatumiwa.
SpellLang Lahaja lugha ya kamusi. Inaweza kuchukua maadili ya moja ya viunga MsoLanguageID , kwa mfano kwa lugha ya Kirusi SpellLang = 1049, kwa Kiingereza (USA) SpellLang = 1033 na kadhalika. Maelezo zaidi kuhusu vitambulishi vya lugha.

Jinsi ya kuangalia sarufi kwenye karatasi ya Excel huko Delphi?

MyExcel. ActiveWorkBook. Karatasi ya Kazi. CheckSpelling(CustomDictionary:=EmptyParam, IgnoreUppercase:=false, AlwaysSuggest:=EmptyParam, SpellLang:=1033)

kwa kesi hii MS Excel itaangalia laha ya sasa, ikijumuisha kukagua maneno kutoka herufi kubwa. Lugha ya uthibitishaji ni Kirusi. Tafadhali kumbuka kuwa ili kupiga njia, tulibainisha wazi ni parameta gani ya kugawa thamani gani. Zaidi ya hayo, ili kuruka parameter yoyote, tulitumia EmptyParam(parameta tupu), ambayo iko ndani Delphi inawakilisha aina tofauti OleVariant.

Ni wazi kwamba njia hii ya kupiga simu (pamoja na dalili wazi ya vigezo vyote) sio rahisi kwako kabisa na haifanyiki sana katika programu kwa Kiingereza. Delphi , lakini hata hivyo, hii ndiyo njia pekee na hakuna njia nyingine ya kuita njia zinazotumiwa katika Excel .

Njia ya SaveAs

Kuhifadhi laha ya kazi ya Excel.

Njia ya kupiga simu:

expression.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AddToMru, TextCodepage, TextVisualLayout, Local)
Kigezo Aina Maelezo
Jina la faili Lahaja mfuatano unaowakilisha jina la faili itakayohifadhiwa. Lazima ibainishwe njia kamili kwa faili, vinginevyo faili itahifadhiwa kwenye folda Excel .
Umbizo la Faili Lahaja Umbizo la faili ambalo hutumika wakati wa kuhifadhi. Kwa chaguo-msingi, faili huhifadhiwa katika umbizo ulilochagua mara ya mwisho V Excel.
Nenosiri Lahaja nenosiri la faili (sio zaidi ya wahusika 15). Nenosiri ni nyeti kwa kesi.
AndikaResPassword Lahaja nenosiri ambalo litatumika kufanya mabadiliko kitabu cha kazi. Ikiwa nenosiri halijabainishwa, kitabu kitafunguliwa katika hali ya Kusoma Pekee.
Imependekezwa Pekee Lahaja ikiwa parameter ni sawa Kweli, basi wakati wa kufungua faili, ujumbe utaonekana kwenye onyesho unapendekeza kwamba faili ifunguliwe kwa ajili ya kusoma tu.
Unda Hifadhi Nakala Lahaja Kweli, ili kuunda faili chelezo
AddToMru Lahaja Kweli, ili kuongeza jina la faili iliyohifadhiwa kwenye orodha hivi karibuni fungua faili kwenye menyu kuu Excel
NakalaCodepage Na TextVisualLayout Lahaja haitumiki kwa sasa na kubakiwa kwa utangamano wa nyuma
Ndani Lahaja Sivyo parameter inayohitajika, kwa chaguo-msingi ni sawa na Uongo.Maana Kweli- kuokoa faili kutoka Lugha ya Microsoft Excel (pamoja na mipangilio ya jopo la kudhibiti).

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

Katika kesi hii, mipangilio ya chaguo-msingi itatumika wakati wa kuhifadhi.

Ikiwa unahitaji kuokoa Faili ya Excel katika muundo tofauti, kisha katika parameter Umbizo la Faili unaweza kutumia moja ya maadili ya waandikishaji xlFileFormat . Baadhi ya maana xlFileFormat yanawasilishwa katika jedwali hapa chini:

Jina Maana Maelezo Ugani wa faili
xlCSV6 CSV*.csv
xlExcel856 Kitabu cha kazi cha Excel 97-2003*.xls
xlHtml44 Umbizo la HTML*.htm; *.HTML
xlOpenDocumentSpreadsheet60 Lahajedwali ya OpenDocument*. bidhaa
Kitabu cha kazi cha xlOpenXML51 Fungua Kitabu cha XML*.xlsx

Wacha tuandike utaratibu mdogo ambao hukuruhusu kuhifadhi karatasi ya Excel katika fomati anuwai:

const xlCSV = 6; xlExcel8 = 56 ; xlHtml = 44; xlOpenDocumentSpreadsheet = 60; xlOpenXMLWorkbook = 51 ; resourcesstring rsESaveActiveSheet = "Hitilafu katika kuhifadhi laha kazi inayotumika"; utaratibu SaveAs(const AFileName: TFileName; AFileFormat: integer ) ; anza kujaribu MyExcel. ActiveWorkBook. ActiveSheet. SaveAs(AFileName, AFileFormat); isipokuwa kuongeza Isipokuwa. Unda(rsESaveActiveSheet); mwisho; mwisho;

Futa mbinu

Futa laha ya kazi ya Excel.

Kipengee.Chagua.MyExcel.ActiveWorkBook.WorkSheets.Chagua

Huchagua karatasi ya tatu ya kitabu cha kazi

Mbinu ya kunakili

Nakili karatasi kwenye eneo lingine kwenye kitabu cha kazi.

Njia ya kupiga simu:

kujieleza.Nakili(Kabla, Baada)

Hata hivyo, ikiwa unatumia parameter Kabla, basi hupaswi kutumia Baada ya na kinyume chake. Acha nitoe mawazo yako kwa ukweli kwamba ni KARATASI iliyoonyeshwa, na sio faharisi ya karatasi.

Jinsi ya kunakili karatasi ya Excel kwa Delphi?

MyExcel.ActiveWorkBook.WorkSheets.Item.Copy(Baada ya:=MyExcel.ActiveWorkBook.WorkSheets.Item)

Katika kesi hii, karatasi ya kwanza itanakiliwa na kubandikwa baada ya ya tatu.

Bandika mbinu

Bandika yaliyomo kwenye ubao wa kunakili kwenye laha ya Excel.

Njia ya kupiga simu:

kujieleza.Bandika(Lengwa, Kiungo)

Jinsi ya kubandika yaliyomo kwenye ubao wa kunakili kwenye karatasi ya Excel huko Delphi?

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

Katika kesi hii, yaliyomo ya bafa yataingizwa kwenye safu D katika safu 1 hadi 5. Ikumbukwe kwamba ikiwa yaliyomo kwenye bafa hayakidhi hali hiyo, kwa mfano, kuna nambari 1 tu kwenye bafa. basi hali ya kipekee.

Njia ChatiVitu

Hurejesha kitu ambacho kinawakilisha ama mchoro mmoja (kitu ChatiObject) au mkusanyiko wa michoro zote (kitu ChatiVitu) kwenye karatasi.

Njia ya kupiga simu:

kujieleza.ChatiVitu

Jinsi ya kupata chati kwenye karatasi ya Excel huko Delphi?

MyExcel.ActiveWorkBook.ActiveSheet.ChatiObjects

Katika kesi hii, ya kwanza itapokelewa.

Mbinu ya kusogeza

Kusonga karatasi. Mbinu hii ni sawa na. Tofauti pekee ni kwamba baada ya kubandika, karatasi iliyonakiliwa inafutwa kutoka kwa kitabu.

Hapa kuna sehemu ya njia ambazo nimewahi kutumia wakati wa kufanya kazi nazo Excel V Delphi . Kwa ujumla inaweza kusema kuwa katika Delphi inaweza kudhibitiwa MS Excel hakuna mbaya zaidi kuliko wakati wa kufanya kazi moja kwa moja na programu hii, jambo kuu si kusahau ni njia gani au mali inayohusika na nini :). Kweli, ili nisisahau, niliunda MindMap ndogo, ambayo mara kwa mara nitaongeza na kusasisha. Kwa kubofya kiungo, unaweza kuona vitu vya Excel, njia wanazotumia, vigezo vya mbinu na aina zao kwa mujibu wa Aina za Delphi. Kwa ujumla, karatasi ndogo ya kudanganya kwa wale wanaopenda kucheza na Excel huko Delphi.

Katika makala hii tutaangalia miundo ya msingi ambayo inakuwezesha kufikia kitabu cha kazi cha MS Excel kutoka Delphi.

Kuandaa ufikiaji wa kitabu cha EXCEL

Ili kuingiliana na MS Excel katika programu lazima utumie moduli ya ComObj

Inatumia ComObj;

na utangaze kigezo cha kufikia MS Excel cha aina ifuatayo:

Var MsExcel: Lahaja;

Katika kesi rahisi zaidi, kuanzisha kutofautisha kwa Excel kunaweza kufanywa kama hii:

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

Kuunda kitabu kipya:

Vitabu vya.MsExcel.Ongeza;

Ufunguzi kitabu kilichopo(ambapo njia ni njia ya faili na ugani wa xls.):

Vitabu. vya.MsExcel.Fungua;

Ili kufungua kitabu cha kazi kilichopo cha kusoma tu:

Vitabu. vya.MsExcel.Fungua;

Kufunga Excel:

MsExcel.ActiveWorkbook.Funga; MsExcel.Application.Toka;

Kuzuia maombi (uthibitisho, arifa) kutoka kwa Ms Excel, kwa mfano, kuzuia ombi la kuhifadhi faili:

MsExcel.DisplayAlerts:=Uongo;

Onyesha Excel kwenye skrini:

MsExcel.Inayoonekana:= Kweli;

au kujificha:

MsExcel.Inayoonekana:= Uongo;

Kuchapisha yaliyomo kwenye karatasi inayotumika ya MS Excel:

MsExcel.ActiveSheet.PrintOut;

Kusoma/kuandika data katika EXCEL

Unaweza kufikia kisanduku katika kitabu cha sasa cha Excel kama ifuatavyo:

Kuandika thamani kwa seli:

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

Kusoma thamani kutoka kwa seli:

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

Wapi B2- anwani ya seli.

Au kwa kutumia mtindo wa kiungo wa R1C1:

MsExcel.Range]:="Hujambo!";

Wapi - kuratibu seli.

Hata kidogo, Seli ya Excel Unaweza kukabidhi thamani yoyote (herufi, nambari kamili, sehemu, tarehe) na Bi Excel itaweka umbizo chaguo-msingi katika kisanduku.

Umbiza visanduku katika EXCEL

Unaweza kuchagua (chagua) kikundi cha seli kwa kazi inayofuata kama hii:

MsExcel.Range, MsExcel.Cells].Chagua; // au MsExcel.Range["A1:C5"].Chagua;

katika kesi hii, eneo lililo kati ya seli A1 na C5 litachaguliwa.

Baada ya kufanya uteuzi, unaweza kuweka kuunganisha kiini, kufuta maneno, na usawa na upangaji wa wima:

// kuunganisha seli za MsExcel.Selection.MergeCells:=Kweli; // funga kulingana na MsExcel.Selection.WrapText:=Kweli; // usawa wa usawa MsExcel.Selection.HorizontalAlignment:=3; // mpangilio wima MsExcel.Selection.VerticalAlignment:=1;

Thamani zifuatazo hutumiwa kwa upatanishi wima na mlalo:

1 - mpangilio wa chaguo-msingi hutumiwa
2 - usawa wa kushoto
3 - katikati
4 - upande wa kulia.

Mpaka wa Kiini

Inapowekwa kwa 1, mipaka ya seli hutolewa kwa mistari nyembamba nyembamba.

Kwa kuongeza, unaweza kutaja maadili ya mali ya Mipaka, kwa mfano, sawa na 3. Kisha tu mpaka wa juu wa kizuizi cha uteuzi utawekwa:

MsExcel.Selection.Borders.LineStyle:=1;

Thamani ya mali ya Mipaka inabainisha mchanganyiko tofauti kingo za seli. Katika visa vyote viwili, unaweza kutumia maadili katika safu kutoka 1 hadi 10.

Kutumia manenosiri katika EXCEL

Kuweka nenosiri kwa kitabu kinachofanya kazi kinaweza kufanywa kama ifuatavyo:

Jaribu // jaribu kuweka nenosiri MsExcel.ActiveWorkbook.protect("pass"); isipokuwa // vitendo ikiwa jaribio la kuweka nenosiri halitaisha;

Wapi kupita- weka nenosiri la kitabu.

Kuondoa nenosiri kutoka kwa kitabu ni sawa, tumia amri

MsExcel.ActiveWorkbook.Unprotect("pass");

Wapi kupita

Kuweka na kuondoa nenosiri kwa karatasi inayotumika ya kitabu cha kazi cha Excel hufanywa kwa kutumia amri

MsExcel.ActiveSheet.protect("pass"); // kuweka nenosiri la MsExcel.ActiveSheet.Unprotect("kupita"); // ondoa nenosiri

Wapi kupita- nenosiri limewekwa ili kulinda kitabu.

Shughuli za usaidizi katika EXCEL

Kuondoa safu mlalo na shift up:

MsExcel.Safu["5:15"].Chagua; Uchaguzi.MsExcel.;

Wakati wa kufanya vitendo hivi, mistari ya 5 hadi 15 itafutwa.

Kuweka eneo la kubandikwa karatasi amilifu Excel

// fungua eneo ikiwa liliwekwa MsExcel.ActiveWindow.FreezePanes:=False; // chagua seli inayotaka, V kwa kesi hii D3 MsExcel.Range["D3"].Chagua; // weka eneo la kuganda la MsExcel.ActiveWindow.FreezePanes:=Kweli;

Inahifadhi kitabu amilifu cha Excel

KATIKA tathmini hii Miundo ya msingi ambayo inakuwezesha kufikia kitabu cha Excel kutoka Delphi inajadiliwa.

Kuandaa ufikiaji wa kitabu cha EXCEL

Ili kuingiliana na MS Excel katika programu, lazima utumie moduli ya ComObj na utangaze kigezo ili kufikia aina ya lahaja ya MS Excel.

hutumia ComObj;
var Excel: Tofauti;

Katika kesi rahisi zaidi, unaweza kuanzisha kutofautisha kwa Excel kama hii:

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

Kuunda kitabu kipya:

Vitabu vya kazi vya Excel.Ongeza;

Kufungua kitabu kilichopo (ambapo njia ndio njia ya faili iliyo na kiendelezi cha xls.):

Excel.Vitabu vya Kazi.Fungua;

Ili kufungua kitabu cha kazi kilichopo cha kusoma tu:

Excel.Vitabu vya Kazi.Fungua;

Kufunga Excel:

Kitabu cha kazi cha Excel.Amilifu.Funga;
Excel.Application.Toka;

Kuzuia maombi ya Excel (uthibitisho, arifa), kwa mfano, kuzuia ombi la kuhifadhi faili:

Excel.DisplayAlerts:=Uongo;

Onyesha au ufiche Excel kwenye skrini:

Excel.Inayoonekana:= Kweli;
Excel.Inayoonekana:= Si kweli;

Kuchapisha yaliyomo kwenye lahakazi inayotumika ya Excel:

Excel.ActiveSheet.PrintOut;

Kusoma/kuandika data katika EXCEL

Unaweza kufikia kisanduku katika kitabu cha sasa cha Excel kama ifuatavyo:

Excel.Range["b2"]:="Hujambo!"; // andika thamani kwa seli
s:=Excel.Range["b2"]; // thamani ya kusoma kutoka kwa seli

Ambapo b2 ni anwani ya seli.

Au kwa kutumia mtindo wa kiungo wa R1C1:

Excel.Range]:="Hujambo!";

Kiratibu cha seli kiko wapi.

Kwa ujumla, unaweza kukabidhi thamani yoyote kwa seli ya Excel (herufi, nambari kamili, sehemu, tarehe), na Excel itaweka umbizo chaguo-msingi katika kisanduku.

Umbiza visanduku katika EXCEL

Unaweza kuchagua (chagua) kikundi cha seli kwa kazi inayofuata kama hii:

Msururu wa Excel, Seli.Za.].Chagua;
// ama
Excel.Range["A1:C5"].Chagua;

Katika kesi hii, eneo lililo kati ya seli A1 na C5 litachaguliwa.

Baada ya kufanya uteuzi, unaweza kuweka:
1) Kuunganisha seli:

Excel.Selection.MergeCells:=Kweli;

2) Ufungaji wa maneno:

Excel.Selection.WrapText:=Kweli;

3) Mpangilio wa mlalo:

Excel.Uteuzi.Mwiano.Mlalo:=3;

Inapowekwa kwa 1, upangaji chaguo-msingi hutumiwa, wakati umewekwa kwa 2, upatanisho umesalia, 3 umewekwa katikati, na 4 ni sawa. 4) Mpangilio wa wima

Excel.Selection.VerticalAlignment:=1;

Thamani zilizokabidhiwa ni sawa na mpangilio wa mlalo.
5) Mpaka wa seli:

Inapowekwa kwa 1, mipaka ya seli hutolewa kwa mistari nyembamba nyembamba.
Kwa kuongeza, unaweza kutaja maadili ya mali ya Mipaka, kwa mfano, sawa na 3. Kisha tu mpaka wa juu wa kizuizi cha uteuzi utawekwa:

Excel.Selection.Borders.LineStyle:=1;

Thamani ya sifa ya Mipaka inabainisha mchanganyiko tofauti wa kingo za seli.
Katika visa vyote viwili, unaweza kutumia maadili katika safu kutoka 1 hadi 10.

Kutumia manenosiri katika EXCEL

Kuweka nenosiri kwa kitabu kinachofanya kazi kinaweza kufanywa kama ifuatavyo:

jaribu
// jaribu kuweka nenosiri
Excel.ActiveWorkbook.protect("kupita");
isipokuwa
// vitendo ikiwa jaribio la kuweka nenosiri litashindwa
mwisho;

Ambapo pass ni nenosiri la kuweka kwa kitabu.

Kuondoa nenosiri kutoka kwa kitabu ni sawa, tumia amri

Excel.ActiveWorkbook.Unprotect("kupita");

Kuweka na kuondoa nenosiri kwa karatasi inayotumika ya kitabu cha kazi cha Excel hufanywa kwa kutumia amri

Excel.ActiveSheet.protect("kupita"); // weka nenosiri
Excel.ActiveSheet.Unprotect("kupita"); // ondoa nenosiri

Ambapo pass ni nenosiri limewekwa kulinda kitabu.

Shughuli za usaidizi katika EXCEL

Kufuta safu mlalo na zamu ya juu (wakati wa kufanya vitendo hivi, safu mlalo 5 hadi 15 zitafutwa):

Safu.Mistari ya Excel["5:15"].Chagua;
Excel.Uteuzi.Futa;

Ili kuweka eneo la kufungia kwenye lahakazi inayotumika ya Excel:

// fungua eneo ikiwa limewekwa
Excel.ActiveWindow.FreezePanes:=Uongo;
// chagua kiini kinachohitajika, katika kesi hii D3
Excel.Range["D3"].Chagua;
// weka eneo la kugandishwa
Excel.ActiveWindow.FreezePanes:=Kweli;


Tathmini hii inajadili miundo msingi inayokuruhusu kufikia kitabu cha kazi cha Excel kutoka Delphi.

Kuandaa ufikiaji wa kitabu cha EXCEL

Ili kuingiliana na MS excel katika programu lazima utumie moduli ya ComObj
hutumia ComObj;
na kutangaza kigezo cha kufikia MS excel cha aina ifuatayo:
var Excel: Tofauti;

Katika kesi rahisi zaidi, kuanzisha kutofautisha kwa Excel kunaweza kufanywa kama hii:
Excel:= CreateOleObject("Excel.Application");

Kuunda kitabu kipya:
Vitabu vya kazi vya Excel.Ongeza;

Kufungua kitabu kilichopo (ambapo njia ndio njia ya faili iliyo na kiendelezi cha xls.):
Excel.Vitabu vya Kazi.Fungua;

Ili kufungua kitabu cha kazi kilichopo cha kusoma tu:
Excel.Vitabu vya Kazi.Fungua;

Kufunga Excel:
Kitabu cha kazi cha Excel.Amilifu.Funga;
Excel.Application.Toka;

Kuzuia maombi ya Excel (uthibitisho, arifa), kwa mfano, kuzuia ombi la kuhifadhi faili:
Excel.DisplayAlerts:=Uongo;

Onyesha Excel kwenye skrini:
Excel.Inayoonekana:= Kweli;
au kujificha:
Excel.Inayoonekana:= Si kweli;

Kuchapisha yaliyomo kwenye laha amilifu ya excel:
Excel.ActiveSheet.PrintOut;

Kusoma/kuandika data katika EXCEL

Unaweza kufikia kisanduku katika kitabu cha sasa cha Excel kama ifuatavyo:
Excel.Range["B2"]:="Hujambo!";- kuandika thamani kwa seli au
s:=Excel.Range["B2"]; - kwa kusoma,
ambapo B2 ni anwani ya seli.

Au kwa kutumia mtindo wa kiungo wa R1C1:
Excel.Range]:="Hujambo!";, kiratibu cha seli kiko wapi.

Kwa ujumla, unaweza kukabidhi thamani yoyote kwa seli ya Excel (herufi, nambari kamili, sehemu, tarehe), na Excel itaweka umbizo chaguo-msingi katika kisanduku.

Umbiza visanduku katika EXCEL

Unaweza kuchagua (chagua) kikundi cha seli kwa kazi inayofuata kama hii:
Msururu wa Excel, Seli.Za.].Chagua;
au
Excel.Range["A1:C5"].Chagua;
katika kesi hii, eneo lililo kati ya seli A1 na C5 litachaguliwa.

Baada ya kufanya uteuzi, unaweza kuweka:
1) kuunganisha seli
Excel.Selection.MergeCells:=Kweli;
2) kufunga maneno
Excel.Selection.WrapText:=Kweli;
3) usawa wa usawa
Excel.Uteuzi.Mwiano.Mlalo:=3;
Inapowekwa kwa 1, upangaji chaguo-msingi hutumiwa, wakati umewekwa kwa 2, upatanisho umesalia, 3 umewekwa katikati, na 4 ni sawa.
4) usawa wa wima
Excel.Selection.VerticalAlignment:=1;
maadili yaliyotolewa ni sawa na upatanishi mlalo.
5) mpaka wa seli

Inapowekwa kwa 1, mipaka ya seli hutolewa kwa mistari nyembamba nyembamba.
Kwa kuongeza, unaweza kutaja maadili ya mali ya Mipaka, kwa mfano, sawa na 3. Kisha tu mpaka wa juu wa kizuizi cha uteuzi utawekwa:
Excel.Selection.Borders.LineStyle:=1;
Thamani ya sifa ya Mipaka inabainisha mchanganyiko tofauti wa kingo za seli.
Katika visa vyote viwili, unaweza kutumia maadili katika safu kutoka 1 hadi 10.

Kutumia manenosiri katika EXCEL

Kuweka nenosiri kwa kitabu kinachofanya kazi kinaweza kufanywa kama ifuatavyo:
jaribu
// jaribu kuweka nenosiri
Excel.ActiveWorkbook.protect("kupita");
isipokuwa
// vitendo ikiwa jaribio la kuweka nenosiri litashindwa
mwisho;

ambapo pass ni nenosiri la kuweka kwa kitabu.

Kuondoa nenosiri kutoka kwa kitabu ni sawa, tumia amri
Excel.ActiveWorkbook.Unprotect("kupita");

Kuweka na kuondoa nenosiri kwa karatasi inayotumika ya kitabu cha kazi cha Excel hufanywa kwa kutumia amri
Excel.ActiveSheet.protect("kupita"); // weka nenosiri
Excel.ActiveSheet.Unprotect("kupita"); // ondoa nenosiri

ambapo pass ni nenosiri lililowekwa kulinda kitabu.

Shughuli za usaidizi katika EXCEL

Kuondoa safu mlalo na shift up:
Safu.Mistari ya Excel["5:15"].Chagua;
Excel.Uteuzi.Futa;

Wakati wa kufanya vitendo hivi, mistari ya 5 hadi 15 itafutwa.

Weka eneo la kuganda kwenye lahakazi amilifu ya Excel
// fungua eneo ikiwa limewekwa
Excel.ActiveWindow.FreezePanes:=Uongo;
// chagua kiini kinachohitajika, katika kesi hii D3
Excel.Range["D3"].Chagua;
// weka eneo la kugandishwa
Excel.ActiveWindow.FreezePanes:=Kweli;

Bahati njema!

Halo, katika nakala hii nitakuambia jinsi ya kutumia katika programu yako (mpango) Delphi DB katika fomu MS Excel. Ndiyo ndiyo hasa MS Excel. Hakuna kitu ngumu hapa. Kwanza, hebu tujaze karatasi yetu katika MS Excel. Mstari wa kwanza katika kila safu utachukua maombi yetu kila wakati kama jina la safuwima, ambayo ni kwamba, haichukui jina la safu kama hii - A, B, C Nakadhalika. Kwa hivyo katika safu ya kwanza ya safu A na safu B niliandika Jina kamili Na Daraja mtawalia kwa kila safu. Hizi zitakuwa vichwa vyetu, basi hapa chini nilijaza data ambayo itakuwa kwenye hifadhidata yangu, vizuri, andika majina na ukadiriaji mwenyewe. Kwa hivyo hifadhidata yetu iko tayari. Sasa hebu tuunde muunganisho kwake. muunganisho unaundwa sawa na Ufikiaji wa MS, kwa hivyo hakuna chochote ngumu hapa. Kwenye fomu tuna vifaa vya zamani:

  • TDBGrid
  • TADOQuery
  • TADOConnection
  • Chanzo cha TData

Nitakuambia haraka jinsi ya kuunganisha vipengele hivi, kwa kuwa hii tayari imesemwa na mimi.

  • TADOQuery c TADOConnection katika mali - Uhusiano
  • Chanzo cha TData Na TADOQuery katika mali DataSet
  • TDBGrid c Chanzo cha TData katika mali DataChanzo

KATIKA TADOConnection kuweka mali LongPromt V Uongo. Inaonekana mpangilio mdogo kufanyika. Sasa tunakuja kwenye uunganisho wa moja kwa moja. Katika mali TADOConnection- ConnectionString bonyeza kitufe" ", basi tuna dirisha la kutazama

Bonyeza kitufe " Jenga..." na dirisha lifuatalo linaonekana

Katika dirisha hili, chagua mtoaji afuatayo: Mtoa Huduma wa Microsoft OLE DB kwa Madereva ya ODBC na bonyeza kitufe" Inayofuata>>" na uone dirisha lifuatalo

Katika dirisha hili, mara moja weka pointer kwa " Tumia kamba ya uunganisho"na bonyeza kitufe" Bunge", baada ya hapo dirisha linaonekana

Katika dirisha hili, nenda kwenye kichupo cha Chanzo cha Data ya Kompyuta, katika orodha inayoonekana, chagua - Faili za Excel, au tuseme, bonyeza-kushoto kwenye tarehe hii bonyeza mara mbili na katika dirisha inayoonekana, onyesha njia yetu Excel-kitabu tulichounda. Baada ya hayo, bonyeza kitufe " Sawa". Tuna miunganisho yote tayari. Ningependa kuongeza zaidi ikiwa una faili Excel, ambapo meza yako iko kwenye saraka sawa na programu, kisha katika mali ya sehemu TADOConnection- ConnectionString njia ya faili yako ya Excel itaandikwa, futa njia na uache jina lako tu Excel faili na kiendelezi, na katika mali DefaultDataBase sehemu hiyo hiyo, andika jina la yako Excel-faili iliyo na kiendelezi . Kisha, unapozindua programu yako, hakutakuwa na makosa na njia iliyoainishwa vibaya kwenye hifadhidata yako. Inayofuata TDBGrid Hebu tubofye mara mbili juu yake na kuunda safu 2 kwenye dirisha inayoonekana, hizi zitakuwa safu zetu. Na zinaundwa kwa kubonyeza kitufe " Ongeza Mpya (Ins)". Ifuatayo, ukichagua kila mstari kwenye mali ya FieldName, kwa mstari wa kwanza tutaandika - Jina kamili, tangu ndani Excel-file, hivi ndivyo nilivyoandika jina la safu kwenye safu ya kwanza (kwa seli A1 Niliandika kama hii), na kwa kuangazia mstari wa pili ambao uliundwa ndani TDBGrid, katika mali Jina la uwanja hebu tuandike - Daraja, kwa kuwa ni mimi niliyeandika jina la safu wima hii (kwenye seli A2 Niliandika hivyo). Sasa tunaweza kuwezesha data yetu. Kwa tukio hili fomu kuuOnCreate tuandike yafuatayo

Kama unavyoona, swali lile lile, badala ya jina la jedwali, kama tulivyokuwa ndani Ufikiaji wa MS tunaonyesha jina la karatasi yetu ndani Excel, kuifunga kwa mabano ya mraba na kumalizia na $ . Kama unaweza kuona, hakuna kitu ngumu. Katika makala inayofuata kuhusu hifadhidata MS Excel Nitakuambia jinsi ya kuingiza data, kuhariri, na kadhalika.

Ningependa kutambua kuwa ikiwa wewe ni shabiki wa kweli wa mpira wa miguu, na haswa ubingwa wa England, ambao kwa sasa ni moja ya nguvu zaidi, basi labda utavutiwa sana kusoma habari za kilabu cha mpira wa miguu.