Bekerja dengan model objek excel c. Objek Excel. Empat objek utama

Penggal Objek Excel (difahamkan dalam dalam erti kata yang luas, sebagai model objek Excel) termasuk elemen yang membentuk mana-mana buku kerja Excel. Ini adalah, sebagai contoh, lembaran kerja ( Lembaran kerja), rentetan ( baris), lajur ( Lajur), julat sel ( Julat) dan buku kerja Excel itu sendiri ( Buku kerja) termasuk. Setiap objek Excel mempunyai satu set sifat yang merupakan sebahagian daripadanya.

Contohnya, objek Lembaran kerja(lembaran kerja) mempunyai sifat Nama(Nama), Perlindungan(perlindungan), Kelihatan(keterlihatan), Kawasan Tatal(kawasan tatal) dan sebagainya. Oleh itu, jika semasa pelaksanaan makro anda perlu menyembunyikan lembaran kerja, maka ubah sahaja harta itu Kelihatan helaian ini.

DALAM Excel VBA terdapat jenis objek khas - koleksi. Seperti namanya, koleksi merujuk kepada kumpulan (atau koleksi) objek Excel. Contohnya, koleksi baris ialah objek yang mengandungi semua baris lembaran kerja.

Semua objek Excel utama boleh diakses (secara langsung atau tidak langsung) melalui objek tersebut Buku kerja, yang merupakan koleksi semua terbuka dalam masa ini buku kerja. Setiap buku kerja mengandungi objek Lembaran– koleksi yang merangkumi semua lembaran kerja dan helaian rajah dalam buku kerja. Setiap objek Lembaran kerja terdiri daripada koleksi baris– ia termasuk semua baris lembaran kerja dan koleksi Lajur– semua lajur lembaran kerja, dan sebagainya.

Jadual berikut menyenaraikan beberapa objek Excel yang paling biasa digunakan. Senarai penuh Objek Excel VBA boleh didapati di tapak web Pembangun Microsoft Office (dalam bahasa Inggeris).

Sebuah objek Penerangan
Permohonan Aplikasi Excel.
Buku kerja Koleksi semua buku kerja yang sedang dibuka dalam semasa Aplikasi Excel. Buku kerja tertentu boleh diakses melalui objek Buku kerja menggunakan indeks berangka buku kerja atau namanya, contohnya, Buku kerja(1) atau Buku kerja("Buku1").
Buku kerja Sebuah objek Buku kerja- Ini adalah buku kerja. Ia boleh diakses melalui koleksi Buku kerja menggunakan indeks angka atau nama buku kerja (lihat di atas). Untuk mengakses buku kerja yang sedang aktif, anda boleh gunakan ActiveWorkbook.

Daripada objek Buku kerja anda boleh mengakses objek tersebut Lembaran, yang merupakan koleksi semua helaian dalam buku kerja (lembaran kerja dan carta) serta objek Lembaran kerja, yang merupakan koleksi semua lembaran kerja Buku kerja Excel.

Lembaran Sebuah objek Lembaran ialah koleksi semua helaian dalam buku kerja. Ini boleh sama ada lembaran kerja atau gambar rajah. lembaran berasingan. Akses helaian individu daripada koleksi Lembaran boleh diperolehi menggunakan indeks berangka helaian atau namanya, contohnya, Helaian(1) atau Helaian("Helaian1").
Lembaran kerja Sebuah objek Lembaran kerja ialah koleksi semua lembaran kerja dalam buku kerja (iaitu, semua lembaran kerja kecuali carta pada helaian berasingan). Akses lembaran kerja individu daripada koleksi Lembaran kerja boleh diperolehi menggunakan indeks berangka lembaran kerja atau namanya, contohnya, Lembaran kerja(1) atau Lembaran kerja("Lembaran1").
Lembaran kerja Sebuah objek Lembaran kerja ialah lembaran kerja yang berasingan dalam buku kerja Excel. Ia boleh diakses menggunakan indeks berangka lembaran kerja atau nama lembaran kerja (lihat di atas).

Di samping itu, anda boleh menggunakan ActiveSheet untuk mengakses lembaran kerja yang sedang aktif. Daripada objek Lembaran kerja anda boleh mengakses objek baris Dan Lajur, yang merupakan koleksi objek Julat, merujuk baris dan lajur lembaran kerja. Anda juga boleh mengakses sel tunggal atau mana-mana julat sel bersebelahan pada lembaran kerja.

baris Sebuah objek baris ialah koleksi semua baris dalam lembaran kerja. Sebuah objek Julat, yang terdiri daripada satu baris lembaran kerja, boleh diakses dengan nombor baris tersebut, contohnya, Baris(1).
Lajur Sebuah objek Lajur ialah koleksi semua lajur lembaran kerja. Sebuah objek Julat, yang terdiri daripada satu lajur lembaran kerja, boleh diakses oleh nombor lajur tersebut, mis. Lajur(1).
Julat Sebuah objek Julat ialah sebarang bilangan sel bersebelahan pada lembaran kerja. Ini boleh menjadi satu sel atau semua sel helaian.

Julat yang terdiri daripada sel tunggal boleh diakses melalui objek Lembaran kerja menggunakan harta sel, Sebagai contoh, Lembaran kerja.Sel(1,1).

Dengan cara lain, rujukan kepada julat boleh ditulis dengan menentukan alamat sel permulaan dan penamat. Mereka boleh ditulis dipisahkan dengan titik bertindih atau koma. Sebagai contoh, Lembaran Kerja.Julat(“A1:B10”) atau Lembaran Kerja.Julat("A1", "B10") atau Lembaran Kerja.Julat(Sel(1,1), Sel(10,2)).

Sila ambil perhatian jika alamat Julat sel kedua tidak dinyatakan (contohnya, Lembaran Kerja.Julat("A1") atau Lembaran Kerja.Julat(Sel(1,1)), maka julat yang terdiri daripada satu sel akan dipilih.

Jadual di atas menunjukkan cara objek Excel diakses melalui objek induk. Sebagai contoh, rujukan kepada julat sel boleh ditulis seperti ini:

Buku Kerja("Buku1"). Lembaran Kerja("Helaian1"). Julat("A1:B10")

Menetapkan objek kepada pembolehubah

Dalam Excel VBA, objek boleh diberikan kepada pembolehubah menggunakan kata kunci Tetapkan:

Malapkan DataWb Sebagai Set Buku Kerja DataWb = Buku Kerja("Buku1.xlsx")

Objek aktif

Terdapat objek aktif dalam Excel pada bila-bila masa Buku kerja adakah buku kerja dibuka pada masa ini. Begitu juga, terdapat objek aktif Lembaran kerja, objek aktif Julat dan sebagainya.

Rujuk objek aktif Buku kerja atau Lembaran dalam kod VBA anda boleh lakukan seperti ini: ActiveWorkbook atau ActiveSheet, dan ke objek aktif Julat- Bagaimana pula Pemilihan.

Jika kod VBA mengandungi rujukan kepada lembaran kerja tanpa menyatakan buku kerja mana ia dimiliki, Excel lalai kepada buku kerja aktif. Begitu juga, jika anda merujuk kepada julat tanpa menyatakan yang khusus buku kerja atau lembaran kerja, Excel akan lalai kepada lembaran kerja aktif dalam buku kerja aktif.

Jadi untuk merujuk kepada julat A1:B10 pada lembaran kerja aktif buku kerja aktif, anda boleh menulis:

Julat("A1:B10")

Menukar objek aktif

Jika semasa pelaksanaan program anda perlu membuat buku kerja lain, lembaran kerja lain, julat dan sebagainya aktif, maka anda perlu menggunakan kaedah Aktifkan atau Pilih seperti ini:

Sub ActivateAndSelect() Workbooks("Book2").Activate Worksheets("Sheet2").Pilih Worksheets("Sheet2").Julat("A1:B10").Pilih Worksheets("Sheet2").Julat("A5") .Aktifkan End Sub

Kaedah objek, termasuk kaedah yang baru digunakan Aktifkan atau Pilih, akan dibincangkan dengan lebih terperinci di bawah.

Sifat Objek

Setiap objek VBA mempunyai sifat yang diberikan kepadanya. Contohnya, objek Buku kerja mempunyai sifat Nama(Nama), Nombor Semakan(bilangan simpanan), Lembaran(lembaran) dan lain-lain lagi. Untuk mengakses sifat objek, anda perlu menulis nama objek, kemudian titik, dan kemudian nama sifat. Sebagai contoh, nama buku kerja aktif boleh diakses seperti ini: ActiveWorkbook.Nama. Oleh itu, untuk menetapkan kepada pembolehubah wbNama nama buku kerja aktif, anda boleh menggunakan kod ini:

Malapkan wbName Sebagai String wbName = ActiveWorkbook.Name

Sebelum ini kami menunjukkan bagaimana objek Buku kerja boleh digunakan untuk mengakses objek Lembaran kerja menggunakan arahan ini:

Buku Kerja("Buku1").Lembaran Kerja("Helaian1")

Ini mungkin kerana koleksi Lembaran kerja ialah sifat sesuatu objek Buku kerja.

Sesetengah sifat objek adalah baca sahaja, bermakna pengguna tidak boleh menukar nilai mereka. Pada masa yang sama, terdapat sifat yang boleh diberikan nilai yang berbeza. Contohnya, untuk menukar nama helaian aktif kepada “ Lembaran kerja saya“, hanya berikan nama ini kepada harta itu Nama helaian aktif, seperti ini:

ActiveSheet.Name = "Lembaran Kerja Saya"

Kaedah Objek

Objek VBA mempunyai kaedah untuk melakukan tindakan tertentu. Kaedah Objek adalah prosedur yang terikat pada objek jenis tertentu. Contohnya, objek Buku kerja mempunyai kaedah Aktifkan, tutup, Jimat dan banyak lagi.

Untuk memanggil kaedah pada objek, anda perlu menulis nama objek, titik dan nama kaedah. Contohnya, untuk menyimpan buku kerja aktif, anda boleh menggunakan baris kod ini:

ActiveWorkbook.Simpan

Seperti prosedur lain, kaedah boleh mempunyai hujah yang dihantar kepada kaedah apabila ia dipanggil. Sebagai contoh, kaedah tutup objek Buku kerja mempunyai tiga hujah pilihan yang menentukan sama ada buku kerja harus disimpan sebelum ditutup dan seumpamanya.

Untuk menghantar argumen kepada kaedah, anda mesti menulis nilai argumen ini selepas memanggil kaedah, dipisahkan dengan koma. Contohnya, jika anda ingin menyimpan buku kerja aktif sebagai fail .csv dengan nama "Book2", maka anda perlu memanggil kaedah tersebut Simpan sebagai objek Buku kerja dan lulus hujah Nama fail maksudnya Buku2, dan hujah Format fail- maksudnya xlCSV:

ActiveWorkbook.SaveAs "Book2", xlCSV

Untuk menjadikan kod anda lebih mudah dibaca, anda boleh menggunakan argumen bernama apabila memanggil kaedah. Dalam kes ini, tulis nama argumen dahulu, kemudian operator tugasan " := ” dan selepas itu menunjukkan nilai. Jadi contoh panggilan kaedah di atas Simpan sebagai objek Buku kerja boleh ditulis secara berbeza:

Nama Fail ActiveWorkbook.SaveAs:="Book2", :=xlCSV

Di tingkap Pelayar Objek Editor Visual Basic memaparkan senarai semua objek yang tersedia, sifat dan kaedahnya. Untuk membuka senarai ini, lancarkan Editor Visual Basic dan klik F2.

Mari lihat beberapa contoh

Contoh 1

Coretan kod VBA ini boleh berfungsi sebagai ilustrasi penggunaan gelung Untuk setiap . DALAM dalam kes ini kami akan merujuknya untuk menunjukkan rujukan objek Lembaran kerja(yang secara lalai diambil daripada buku kerja aktif) dan memaut ke setiap objek Lembaran kerja secara berasingan. Ambil perhatian bahawa sifat yang digunakan untuk memaparkan nama setiap lembaran kerja ialah Nama objek Lembaran kerja.

"Tatal semua lembaran kerja dalam buku kerja aktif satu demi satu" dan paparkan kotak mesej dengan nama setiap helaian kerja Malapkan wSheet Sebagai Lembaran Kerja Untuk Setiap wSheet dalam Worksheets MsgBox "Worksheet found: " & wSheet.Name Next wSheet

Contoh 2

Contoh kod VBA ini menunjukkan cara anda boleh mengakses lembaran kerja dan julat sel daripada buku kerja lain. Di samping itu, anda akan memastikan bahawa jika rujukan kepada objek tertentu tidak dinyatakan, maka objek Excel aktif digunakan secara lalai. Contoh ini menunjukkan penggunaan kata kunci Tetapkan untuk menetapkan objek kepada pembolehubah.

Dalam kod di bawah, untuk objek Julat kaedah dipanggil TampalSpecial. Kaedah ini melepasi hujah tampal maksudnya xlPasteValues.

"Salin julat sel daripada helaian "Helaian1" buku kerja lain (bernama Data.xlsx) "dan tampalkan nilai sahaja ke dalam helaian "Hasil" buku kerja semasa (bernama CurrWb.xlsm) Dim dataWb As Set Buku Kerja dataWb = Workbooks.Open( "C:\Data") "Perhatikan bahawa DataWb ialah buku kerja aktif. "Oleh itu, tindakan seterusnya dilakukan pada objek Helaian dalam DataWb. Helaian("Helaian1").Julat("A1:B10").Salin "Tampalkan nilai yang disalin daripada julat sel ke dalam lembaran kerja "Hasil" buku kerja semasa. Sila ambil perhatian bahawa buku kerja CurrWb.xlsm tidak "aktif" dan oleh itu mesti dirujuk Buku Kerja("CurrWb").Helaian("Hasil").Julat("A1").Tampalkan Khas:=xlPasteValues.

Contoh 3

Coretan kod VBA berikut menunjukkan contoh objek (koleksi) Lajur dan menunjukkan cara ia diakses daripada objek Lembaran kerja. Selain itu, anda akan melihat bahawa apabila anda merujuk sel atau julat sel dalam lembaran kerja aktif, anda tidak perlu memasukkan helaian itu dalam rujukan. Kita berjumpa lagi kata kunci Tetapkan, dengan bantuan yang objek Julat ditugaskan kepada pembolehubah Kol.

Kod VBA ini juga menunjukkan contoh mengakses harta Nilai objek Julat dan mengubah maknanya.

"Dengan menggunakan gelung, kami melihat nilai dalam lajur A pada helaian "Helaian2", "kami melakukannya dengan setiap daripadanya operasi aritmetik dan tulis hasil "dalam lajur A lembaran kerja aktif (Helaian1) Malap i Sebagai Integer Malap Kol Sebagai Julat Malap dVal Sebagai Ganda "Tugaskan kepada lajur Kol pembolehubah A lembaran kerja "Helaian2" Set Kol = Helaian("Helaian2"). Lajur("A ") i = 1 "Lihat semua sel lajur Col dalam turutan sehingga "sehingga sel kosong ditemui Lakukan Hingga IsEmpty(Col.Cells(i)) "Lakukan operasi aritmetik dengan nilai arus cell dVal = Col.Cells(i).Value * 3 - 1 "Arahan berikut menulis hasil ke lajur A helaian aktif. Tidak perlu menyatakan nama helaian dalam rujukan kerana ia adalah helaian aktif helaian buku kerja. Sel(i, 1).Nilai = dVal i = i + 1 Gelung

Asas model objek Excel ialah objek Lembaran Kerja, yang mewakili satu lembaran kerja dalam fail. Setiap objek Lembaran Kerja ialah sebahagian daripada koleksi Lembaran Kerja, yang dimiliki oleh objek Buku Kerja yang mewakili fail buku kerja Excel. Oleh kerana Excel boleh membuka berbilang buku kerja pada masa yang sama, terdapat juga koleksi Buku Kerja yang mengandungi satu objek Buku Kerja untuk setiap fail yang dibuka. Seperti semua aplikasi Office, objek Aplikasi terletak di bahagian atas hierarki objek dan tersedia sebagai rujukan tersirat apabila bekerja dalam Excel.

Terdapat satu lagi jenis helaian dalam buku kerja Excel - helaian carta (objek Carta) - jadual khas yang mengandungi hanya carta. Koleksi Carta objek Aplikasi menyediakan akses kepada semua carta semua fail terbuka, manakala koleksi carta objek Buku Kerja menyediakan akses hanya kepada carta buku kerja tertentu. Carta juga boleh dibenamkan dalam lembaran kerja dan bukannya mempunyai lembaran kerja sendiri. Carta sedemikian bukan sebahagian daripada koleksi carta, tetapi sebaliknya tersedia sebagai sebahagian daripada koleksi Chartob-jects Objek lembaran kerja. Koleksi Helaian menyediakan akses kepada semua lembaran kerja, kedua-dua jadual dan carta.

Kebanyakan perkara yang anda lakukan dalam Excel melibatkan objek Julat. Walaupun nama objek ini sama dengan rakan sejawatannya dalam Word, gubahan mereka berbeza. Walau bagaimanapun, fungsinya hampir sama: membingkai bahagian dokumen yang dengannya kerja sedang dilakukan. Julat boleh menjadi satu sel, blok dua dimensi sel pada lembaran kerja atau blok tiga dimensi sel yang merangkumi berbilang lembaran kerja.

Satu lagi penting sebahagian Model objek Excel ialah objek Carta. Terdapat satu objek carta yang terkandung dalam koleksi carta untuk setiap carta dalam buku kerja. Setiap objek Carta mempunyai subset objek yang mewakili komponen carta, seperti paksi dan legenda.

Kami akan menukar makro kami, pergi ke item menu "makro", pilih kami dan sebut "edit":

Malapkan buku As String

Malapkan helaian Sebagai Rentetan

Dim addr Sebagai String

buku = Permohonan.Buku Kerja Aktif.Nama

helaian = Application.ActiveSheet.Name

Buku kerja(buku).Aktifkan

Lembaran kerja(lembaran).Aktifkan

Julat("A1") = buku

Julat("B1") = helaian

Malapkan xList Sebagai Integer

xList = Application.Sheets.Count

Untuk x = 1 Kepada xSenarai

s = addr + LTrim(Str(x))

Pengaturcaraan VBA boleh dianggap sebagai mengurus objek aplikasi. Ini adalah objek yang diuruskan oleh aplikasi kami. Dalam kes kita, jika kita memudahkan seni bina hierarki, ia kelihatan seperti ini.

Iaitu, objek utama adalah aplikasi. Aplikasi boleh mempunyai beberapa Buku Kerja, di dalamnya terdapat Lembaran Kerja dan helaian dibahagikan kepada Sel. Semasa bekerja, hanya satu buku kerja dan satu helaian boleh aktif. Jadi saya cuba memikirkan perkara ini dengan makro saya. Dan pada masa yang sama berapa helaian dalam buku semasa.

DIM - mengisytiharkan pembolehubah dengan taip rentetan. Menggunakan objek Aplikasi, kami mendapat nama buku kerja dan helaian semasa. Menggunakan Julat("...") anda boleh memilih sel dan meletakkan nilai di dalamnya atau membacanya. Secara umum, objek mempunyai sejumlah besar sifat. Tugas pengaturcara VBA adalah untuk mengetahui sifat dan kaedah ini.

Model objek Excel

Objek Excel

Pengaturcara bekerja di Excel, mesti bebas mengemudi dunia objeknya. Kuasa pengaturcaraan pejabat ditentukan oleh fakta bahawa pengaturcara pada mulanya mempunyai kemampuannya nombor besar objek yang sudah siap. Untuk menggunakan peluang yang disediakan dengan baik, anda perlu mengetahui objek.

Bercakap tentang objek Excel Adalah dinasihatkan untuk memulakan dengan melihat rangka dokumen Excel. Saya telah banyak menulis tentang konsep penting rangka dokumen dalam buku-buku sebelum ini. Banyak perpustakaan objek Office 2000, koleksi yang mewakili Office 2000 kepada pengaturcara, menyediakan rangka kerja untuk semua dokumen yang boleh dibina dalam persekitaran ini. Apabila dicipta dokumen baharu, Sebagai contoh, Buku kerja Excel, kemudian secara lalai, beberapa dipilih daripada keseluruhan set perpustakaan, objek yang membentuk rangka kerja dokumen. Objek ini tersedia untuk pengaturcara, tanpa sebarang usaha tambahan. Peranan pusat dalam bingkai dokumen Excel dimainkan, sudah tentu, oleh objek perpustakaan Excel. Tetapi pengetahuan dan semua objek lain yang termasuk dalam bingkai adalah perlu. Sebagai contoh, apabila penciptaan perisian antara muka adalah perlu pengetahuan kemudahan bersama Perpustakaan pejabat. Saya juga akan ambil perhatian bahawa, jika dikehendaki, pengaturcara sentiasa boleh mengembangkan rangka kerja dokumen dengan menambahkan perpustakaan tertentu kepadanya. Bingkai wayar yang dibuat secara lalai apabila yang baharu dibuka buku kerja, terdiri daripada objek yang termasuk dalam perpustakaan berikut:

· Excel- perpustakaan yang menetapkan asas untuk dokumen Excel. Di sinilah kelas yang mentakrifkan objek Excel.Application root dan semua kelas objek yang bersarang dalam objek root disimpan.

· Pejabat- perpustakaan objek biasa kepada semua orang Aplikasi pejabat 2000. Berikut ialah kelas yang mentakrifkan bar alat - Bar Perintah dan kelas objek biasa yang lain. Kelas yang mentakrifkan Assistant juga terletak di sini (objek Assistant dan semua kelas yang dikaitkan dengannya). Khususnya, terdapat objek baru, yang tiada dalam versi sebelumnya - Wizard Jawapan.

· Stdole- perpustakaan kelas yang membolehkan anda bekerja dengan objek OLE dan melaksanakan Automasi.

· VBA- perpustakaan kelas yang berkaitan dengan bahasa VBA. Semuanya disimpan di sini ciri standard dan pemalar terbina dalam bahasa, kelas Collection dan ErrObject.

· Projek VBA- projek lalai yang dikaitkan dengan dokumen. Kelas yang boleh dibuat oleh pengaturcara dalam projek ini, kaedah, sifat - semua ini tersedia untuk dilihat, sama seperti objek kelas yang dibina ke dalam perpustakaan standard.

Jika kita membandingkan rangka kerja buku kerja Excel, sebagai contoh, dengan bingkai dokumen Perkataan, maka mereka berbeza dalam yang satu adalah berdasarkan perpustakaan Excel, satu lagi adalah berdasarkan perpustakaan Perkataan. Perpustakaan ini mengandungi objek khusus aplikasi. Bagi objek antara muka, objek yang menentukan persekitaran editor VBA, automasi, kemudian objek biasa digunakan di sini. Perpustakaan Pejabat, Stdole, VBA- Ini adalah perpustakaan biasa untuk semua aplikasi Office 2000. Saya bercakap secara terperinci tentang objek perpustakaan ini dalam .

Saya perhatikan bahawa walaupun bingkai dokumen Excel tidak berubah dalam Office 2000 berbanding dengan versi terdahulu, pada masa yang sama, perubahan yang agak ketara telah berlaku dalam model objek, objek baru, sifat baru dan kaedah objek sedia ada telah muncul.

Model objek Excel

Pertama sekali, beberapa perkataan tentang cara ia berfungsi Model objek Excel dan aplikasi Office 2000 yang lain Dalam model ini, objek berkaitan antara satu sama lain mengikut perhubungan membenamkan. Pada tahap sifar hierarki terdapat beberapa pusat sebuah objek, di mana objek lain dibenamkan yang membentuk tahap pertama hierarki. Objek boleh dibina ke dalam setiap objek peringkat pertama dan seterusnya peringkat seterusnya. Jadi proses ini berterusan. Oleh itu, objek dalam model ini adalah "tebal" kerana ia mempunyai sejumlah besar objek lain yang tertanam di dalamnya. Ini benar terutamanya untuk objek berdiri peringkat atasan hierarki.

Kuliah Model Objek MS Excel.

1. ciri umum Model objek MS Excel

2. Ciri-ciri objek

3. Bekerja dalam persekitaran VBA. Menguruskan sifat objek

pengenalan

Jadual Pemproses Excel ialah program yang mempunyai rangkaian ciri yang agak luas, kebanyakannya anda biasa dengannya. Walau bagaimanapun, sebagai tambahan kepada ini, pembangun telah memasukkan alat penyesuaian di dalamnya untuk meningkatkan kecekapan menyelesaikan masalah tertentu. Cara ini termasuk pelbagai tetapan, alat untuk mengautomasikan tindakan pengguna (makro), serta sistem terbina dalam pengaturcaraan VBA. Aplikasi itu sendiri dibangunkan menggunakan OOP, dan VBA menyediakan akses kepada objek program, supaya pengguna yang layak mempunyai praktikal kemungkinan tanpa had untuk menyesuaikan aplikasi ini. Dalam pelajaran ini dan beberapa pelajaran seterusnya, kami akan memperkenalkan anda kepada cara ini boleh digunakan.

1. Ciri umum model objekCIKExcel

OOP dibina di sekeliling penggunaan objek. Objek sebenar dunia sekeliling mempunyai dua ciri utama: mereka mempunyai satu set sifat dan mampu kaedah yang berbeza mengubah sifat-sifat ini dan bertindak balas terhadap peristiwa yang timbul di dunia sekeliling dan dalam objek itu sendiri. Dalam bentuk inilah konsep objek dilaksanakan dalam bahasa pengaturcaraan, sebagai satu set sifat (ciri struktur data objek ini) dan kaedah untuk memprosesnya (rutin untuk menukar sifat).

Sifat ialah parameter yang menerangkan objek. Sifat, sebagai contoh, mengenal pasti objek, menentukan rupa, kedudukan pada skrin dan dimensi.

Kaedah ialah tindakan yang dilakukan oleh objek, pengendali kerjanya. Secara umum, kaedah ialah prosedur (tindakan) yang boleh dilakukan, dan sifat ialah atribut yang boleh ditetapkan oleh pengguna atau sistem.

Apabila melaksanakan program OOP, prinsip acara dilaksanakan, intipatinya ialah objek program boleh bertindak balas terhadap peristiwa yang berlaku dalam sistem. Peristiwa ialah mesej yang menentukan susunan tindakan program. Peristiwa boleh berbeza sifat - klik tetikus, menggerakkan penuding tetikus, memasukkan atau menukar data, mengklik butang dalam tetingkap program atau pada kekunci papan kekunci, ralat program dan sistem, dsb. Reaksi terdiri daripada melaksanakan salah satu kaedah objek. Kebanyakan objek dicirikan oleh peristiwa Klik, yang berlaku apabila anda mengklik butang kiri tetikus pada objek yang dipilih. Peristiwa berikut juga merupakan ciri: DblClick (klik dua kali), MouseDown, MouseUp (menekan dan melepaskan butang tetikus), Keluar dan Masuk (hilang dan mendapat fokus) dan banyak lagi.

Tugas pengaturcara semasa mencipta atur cara adalah untuk memasukkan objek yang diperlukan ke dalam atur cara daripada semua objek yang tersedia, menentukan senarai peristiwa yang mana program harus bertindak balas, dan menunjukkan kaedah yang harus digunakan apabila setiap peristiwa berlaku.

Jika tiada objek dengan ciri yang diperlukan, pengaturcara boleh mencipta objek sedemikian dan seterusnya menggunakannya dalam program ini atau program lain.

Apabila menyesuaikan aplikasi, tidak perlu mencipta objek baru sudah cukup untuk menggunakan yang sedia ada. Anda hanya perlu mengenali mereka. Idea tentang komposisi dan hubungan antara objek disediakan oleh model objek aplikasi. Setiap aplikasi mempunyai sendiri.

Model objek MS Excel ialah hierarki objek yang berada di bawah objek Permohonan, yang sepadan dengan aplikasi itu sendiri.

Bilangan objek agak besar, mereka membentuk struktur pokok (dahan yang lebih kecil adalah sifat yang lebih besar). Punca "pokok" ini (objek awal) ialah Aplikasi (aplikasi MS Excel itu sendiri).

Sesetengah objek adalah tunggal (iaitu, ia wujud dalam satu salinan), dan sesetengahnya adalah ahli koleksi (keluarga). Untuk objek tunggal, cukup untuk menentukan nama, dan untuk ahli keluarga - nama keluarga dan nombor atau nama ahli keluarga.


Di bawah adalah beberapa objek MS Excel yang akan kami gunakan dalam program kami.

nasi. 1. Model Objek Excel Dipermudahkan

Dalam angka ini, untuk keluarga, nama objek daripada keluarga ditulis dalam kurungan.

Untuk mengakses sifat atau kaedah objek (rujukan objek), sama ada rujukan penuh atau tersirat boleh digunakan.

Rujukan penuh terdiri daripada satu siri nama objek bersarang (mengikut hierarki). Titik digunakan sebagai pemisah nama. Sebagai contoh, pautan penuh ke sel A5 lembaran kerja Lembaran1 buku kerja Buku1(dan, sebagai contoh, menulis nombor 10 ke dalamnya) dalam pengendali tugasan mempunyai borang:

Aplikasi.Buku Kerja("Buku1").Lembaran Kerja("Lembaran1").Julat("A5") = 10

Anotasi: Kuliah dikhaskan untuk penerangan model objek MS Excel dan Penerangan terperinci Kaedah permohonan, sifat dan peristiwa.

13.1. Ciri-ciri pengaturcaraan untuk MS Excel

Microsoft Office Excel adalah hamparan yang popular. Biasanya, apabila pengaturcaraan untuk program ini, matlamat berikut diteruskan:

  • Automasi pengiraan.
  • Automasi input dan pemprosesan maklumat.
  • Bekerja dengan pangkalan data - output, input, analisis, visualisasi maklumat.
  • Analisis maklumat kewangan dan lain-lain.
  • Penciptaan sistem untuk mengatur kemasukan data automatik
  • pemodelan matematik.

DALAM Pandangan umum pengaturcaraan dalam Excel ia serupa dengan bekerja dengannya Microsoft word. Walau bagaimanapun, salah satu perbezaan utama ialah dalam Excel, kawasan lembaran kerja dibahagikan kepada sel, setiap satunya mempunyai nama sendiri. Nama sel boleh terdiri daripada dua jenis.

  • Jenis pertama (gaya A1) ialah nama yang terdiri daripada nama lajur abjad dan nombor baris. Sebagai contoh, A1 ialah sel yang terletak di persimpangan lajur A (pertama) dan baris pertama.
  • Jenis lain ialah indeks sel (gaya penamaan R1C1). Untuk menangani sel dalam gaya ini, nyatakan nombor baris (R - Baris) dan nombor lajur (C - Lajur) di persimpangan di mana sel itu terletak. Baris pada mulanya diberi nombor, dan nombor lajur bermula dari 1 - lajur pertama sepadan dengan lajur A, lajur kedua - B, dsb. Sebagai contoh, (2, 3) ialah alamat sel yang terletak di persimpangan baris kedua dan lajur ketiga, iaitu, jika kita memindahkannya ke gaya A1, kita mendapat sel C2 (Rajah 13.1.)


nasi.

13.1.

  • Objek berikut digunakan untuk melaksanakan kebanyakan operasi dalam MS Excel. Excel.Application - objek yang mewakili aplikasi Microsoft
  • Excel, serupa dengan Word.Application. Buku kerja (Buku kerja) - mewakili buku kerja - analog dokumen Microsoft
  • Perkataan. Walau bagaimanapun, dalam Word kami bekerja dengan data yang terdapat dalam dokumen, dan dalam Excel terdapat objek lain dalam perjalanan ke data - lembaran kerja. Lembaran kerja
  • (Lembaran Kerja) - buku kerja dalam MS Excel dibahagikan kepada lembaran kerja. Pada helaian terdapat sel yang boleh menyimpan maklumat dan formula.
  • Julat - boleh diwakili sebagai satu sel atau sekumpulan sel. Objek ini menggantikan banyak objek untuk bekerja dengan elemen dokumen (watak, perkataan, dll.) yang digunakan dalam Microsoft Word. Akibatnya, bekerja dengan helaian menjadi sangat jelas dan mudah - untuk bekerja dengan mana-mana sel, anda hanya perlu mengetahui namanya (dalam format A1) atau alamat (R1C1). QueryTable - objek ini digunakan untuk import ke dalam Microsoft Maklumat Excel daripada pangkalan data. Menyambung ke pangkalan data
  • , permintaan maklumat, dsb. dihasilkan menggunakan objek, dan hasil permintaan dimuat naik ke helaian MS Excel dalam bentuk jadual biasa. Jadual Pangsi ( Jadual pangsi ) ialah sejenis elektronik khas Jadual Excel - dia membenarkan masuk mod interaktif
  • meringkaskan dan menganalisis sejumlah besar maklumat, khususnya yang diambil daripada pangkalan data.(Rajah) - mewakili gambar rajah. Ia biasanya digunakan untuk visualisasi data.

Mari kita mula mengulangkaji Model objek MS Excel daripada objek Aplikasi.

13.2. Objek aplikasi

MsgBox Excel.Application.Name Penyenaraian 13.1. Paparkan nama aplikasi

Selepas program dilaksanakan, kotak mesej akan memaparkan nama aplikasi - dalam kes ini - Microsoft Excel. Jelas sekali, sifat Nama objek Aplikasi mengembalikan nama aplikasi.

Sekarang mari kita lihat kaedah dan sifat Aplikasi yang paling penting. Sebahagian daripada mereka adalah serupa dengan yang terdapat dalam MS Word. Contohnya, kaedah Quit, sama seperti dalam Word, menutup aplikasi, sifat Visible bertanggungjawab untuk keterlihatan tetingkap program, dsb.

13.3. Kaedah Permohonan

13.3.1. Kira - pengiraan semula paksa

Kaedah ini, dipanggil pada objek Aplikasi, membolehkan anda mengira semua buku dibuka. Ia juga boleh dipanggil untuk buku individu (objek Excel, serupa dengan Word.Application.) helaian ( Perkataan. Walau bagaimanapun, dalam Word kami bekerja dengan data yang terdapat dalam dokumen, dan dalam Excel terdapat objek lain dalam perjalanan ke data - lembaran kerja.), sel dan julatnya (Julat). Sebagai contoh, kod daripada Penyenaraian 13.2. membolehkan anda mengira segala-galanya buka buku.

Aplikasi.Hitung Penyenaraian 13.2. Kira semua buku yang terbuka

13.3.2. GoTo - pergi ke sel

13-02-Excel GoTo.xlsm - contoh untuk klausa 13.3.2.

Membolehkan anda memilih mana-mana julat sel dalam mana-mana buku, dan jika buku itu tidak aktif, ia akan diaktifkan. Kaedah ini juga boleh menjalankan makro Microsoft Excel.

Panggilan kaedah lengkap kelihatan seperti ini:

Goto(Rujukan, Tatal)

Parameter Rujukan ialah rujukan kepada sel atau julat sel yang harus dipilih selepas memanggil kaedah. Nama makro juga boleh digunakan di sini - kemudian ia akan dilancarkan.

Parameter Tatal bertanggungjawab untuk "menggulung semula" Helaian Excel ke sel yang dipilih - supaya sudut kiri atas pilihan bertepatan dengan sebelah kiri sudut atas kawasan helaian yang dipaparkan. Jika Tatal ditetapkan kepada Benar, helaian digulung semula jika ia ditetapkan kepada Salah, ia tidak.

Contohnya, panggilan sedemikian (Penyenaraian 13.3) membolehkan anda memilih sel H500 pada helaian aktif.

Application.Goto _ Reference:=ActiveSheet.Range("H500"), _ Scroll:=True Penyenaraian 13.3. Pilih sel H500

Seperti yang anda lihat, rayuan kepada lembaran aktif sangat serupa dengan mengakses dokumen aktif dalam MS Word. Ambil perhatian bahawa kami menggunakan panggilan kaedah penuh - Application.GoTo - seperti yang anda ketahui, anda biasanya boleh menggunakan sifat dan kaedah objek Aplikasi dalam kod tanpa menyatakan objek. Walau bagaimanapun, jika anda tidak menyatakan Aplikasi dalam kes ini, maka bukannya kaedah GoTo program akan cuba melaksanakan pengendali lompat tanpa syarat Pergi ke.

13.3.3. SendKeys - mensimulasikan penekanan kekunci papan kekunci

13-03-Excel SendKeys.xlsm - contoh untuk klausa 13.3.3.

Kaedah yang sangat menarik - ia membolehkan anda memindahkan ke tetingkap aktif Aplikasi ketukan kekunci. Panggilan kaedah lengkap kelihatan seperti ini:

SendKeys(Kunci, Tunggu)

Parameter Kekunci membolehkan anda menentukan kekunci yang tekanannya akan dihantar ke aplikasi. Kaedah ini menyokong emulasi kedua-dua alfanumerik dan kunci kawalan, yang mana pengekodan khas digunakan. Kekunci abjad angka ditunjukkan dalam bentuk biasa apabila dipanggil Contohnya, untuk menghantar aksara "F" anda perlu menentukannya semasa memanggil kaedah, dsb.

Untuk menghantar ketukan kekunci kepada aplikasi Ruang belakang- gunakan kod (BS). Untuk menghantar tekan butang Masuk gunakan ~ ( ikon