Anda di halaman 1dari 25

Panduan Memulai

Bab 13

Memulai dengan Macro


Menggunakan Perekam Makro ... dan seterusnya
hak cipta
Dokumen ini adalah Hak Cipta 2010-2011 oleh penyumbang sebagai tercantum di bawah ini.Anda dapat mendistribusikan dan / atau memodifikasinya di bawah ketentuan baik GNU General Public License ( http://www.gnu.org/licenses/gpl.html), versi 3 atau lambat, atau Lisensi Creative Commons Attribution ( http : / / creativecommons.org/licenses/by/3.0 /), versi 3.0 atau yang lebih baru. Semua merek dagang dalam panduan ini dimiliki oleh pemilik yang sah mereka.

Kontributor
Ron Faile Jr Martin Fox Andrew Pitonyak

u
Silahkan kirimkan komentar atau saran tentang dokumen ini ke: documentation@global.libreoffice.org

Pernyataan tanda terima kasih


Bab ini didasarkan pada Bab 13 Memulai dengan OpenOffice.org 3.3.Kontributor ke bab yang: Andrew Pitonyak Jean Hollis Weber

Tanggal publikasi dan versi perangkat lunak


Diterbitkan 14 Agustus 2011. Berdasarkan LibreOffice 3.3.3.

Catatan untuk pengguna Mac


Beberapa penekanan tombol dan item menu yang berbeda pada Mac dari yang digunakan pada Windows dan Linux. Tabel di bawah ini memberikan beberapa substitusi umum untuk instruksi dalam bab ini. Untuk daftar yang lebih rinci, lihat Bantuan aplikasi. Windows / Linux
Peralatan Pilihan menu pilihan Klik kanan Ctrl (Kontrol) F5 F11

Mac setara
Libreoffice Preferensi Control + klik z (Perintah) Shift + z + F5 z+T

Effect.
Akses pengaturan opsi

Membuka menu konteks Digunakan dengan tombol lain Membuka Navigator Membuka Styles dan Formatting window

Daftar Isi
Catatan untuk pengguna Mac 2 Anda pertama macro 4 Menambahkan sebuah makro yang ada 4 Membuat makro sederhana 5 Menjalankan makro 7 Melihat dan mengedit makro 7 Komentar mulai dengan REM 8 Mendefinisikan subrutin dengan SUB 8 Mendefinisikan variabel dengan menggunakan DIM Menarik makro bersama-sama 9 Membuat makro 9 Sebuah contoh yang rumit 9 Menjalankan makro dengan cepat

12

Kadang-kadang perekam makro gagal 13 Pengiriman kerangka kerja 13 Bagaimana perekam makro menggunakan kerangka pengiriman Pilihan lain 13

13

Makro organisasi 14 Dimana macro disimpan? 16 Mengimpor macro 16 Men-download macro untuk mengimpor Bagaimana menjalankan makro Toolbar 19 Menu item 19 Cara pintas keyboard 19 Acara 20 Ekstensi 22 22 23 Menulis macro tanpa perekam Menemukan informasi lebih lanjut Termasuk materi 23 Sumber daya online 23 Dicetak dan bahan eBook 18

18

24

Anda pertama macro


Sebuah makro adalah urutan disimpan perintah atau ketikan yang disimpan untuk digunakan kemudian. Sebuah contoh makro sederhana adalah salah satu yang "jenis" alamat Anda. Bahasa LibreOffice makro sangat fleksibel, memungkinkan otomatisasi tugas-tugas sederhana dan kompleks.Macro sangat berguna untuk mengulangi tugas dengan cara yang sama berulang-ulang. LibreOffice macro biasanya ditulis dalam bahasa disebut LibreOffice Dasar, atau hanya disingkat Dasar.Meskipun Anda dapat belajar Dasar dan menulis macro, ada kurva belajar yang curam untuk menulis macro dari awal. Metode yang biasa untuk pemula adalah untuk menambahkan macro yang orang lain telah menulis dan menggunakan built-in perekam makro, yang merekam keystrokes Anda dan menyimpannya untuk digunakan. Dalam LibreOffice rekaman macro saat ini diklasifikasikan sebagai fitur "eksperimental (tidak stabil)". Untuk mengaktifkan rekaman makro, gunakan Tools Pilihan LibreOffice Umum dan pilih Aktifkan eksperimental (tidak stabil) pilihan fitur.

Gambar 1: Aktifkan macro dalam dialog Pilihan. Tugas yang paling dalam LibreOffice yang dicapai oleh "pengiriman perintah" (mengirim perintah), yang disadap dan digunakan.Perekam makro bekerja dengan merekam perintah yang dikirim (lihat "" pada halaman).

Menambahkan sebuah makro yang ada


Langkah pertama dalam pemrograman makro belajar adalah untuk menemukan dan menggunakan macro yang ada.Bagian ini mengasumsikan bahwa Anda memiliki makro yang ingin Anda gunakan; makro mungkin dalam email, pada halaman web, atau bahkan dalam sebuah buku. Untuk contoh ini, menggunakan makro dalam.
24

Kode 1: makro sederhana yang menyapa.


Sub HelloMacro Cetak "Halo" E nd S ub

Anda harus membuat perpustakaan dan modul mengandung makro Anda, ini tercakup dalam "" pada halaman.Gunakan langkah-langkah untuk membuat perpustakaan berisi makro Anda: 1) Gunakan Tools Macros Organize Macros LibreOffice Dasar untuk membuka
dialog Makro (lihat dan). 2) Klik Organizer untuk membuka dialog Organizer Makro Dasar (lihat). 3) Pilih tab Perpustakaan. 4) Mengatur Lokasi untuk Macro saya & Dialog, yang merupakan default.

5) Klik New untuk membuka dialog Perpustakaan Baru.Masukkan nama perpustakaan seperti "TestLibrary" dan klik OK. 6) Pilih tab Modules. 7) Dalam daftar Modul, memperluas Macro saya dan pilih TestLibrary.Sebuah modul bernama Module1 sudah ada dan dapat berisi makro Anda. Anda dapat klik New untuk membuat modul lain di TestLibrary.

8) Pilih Module1, atau modul baru yang Anda buat, dan klik Edit untuk membuka Lingkungan Debugging Terpadu (IDE). 9) IDE adalah editor teks untuk macro yang memungkinkan Anda untuk mengedit dan membuat macro.Salin th e makro ke IDE.

Bila modul baru dibuat, berisi komentar dan makro kosong bernama Utama, yang tidak melakukan apapun. Kode 2: Isi Module1 setelah dibuat.
REM ***** ***** DASAR Sub Utama Akhir Sub

Tambahkan makro baru baik sebelum End Sub Sub Utama atau setelah. Dalam, makro baru telah ditambahkan sebelum Utama Sub. Kode 3: Module1 setelah menambahkan makro baru.
REM ***** ***** DASAR Sub HelloMacro Cetak "Halo" Akhir S ub Sub Utama Akhir Sub

Klik tombol Run Dasar pada toolbar, atau tekan F5, untuk menjalankan makro pertama dalam modul.Gunakan dialog Makro, dibuka menggunakan tombol makro Pilih atau Tools Macros Organize Macros LibreOffice Dasar, untuk memilih dan menjalankan makro dalam modul.

Membuat makro sederhana


Bayangkan berulang kali memasukkan informasi sederhana. Meskipun Anda dapat menyimpan informasi dalam clipboard, jika Anda menggunakan clipboard untuk sesuatu yang lain, isi berubah. Menyimpan isi sebagai makro adalah solusi sederhana. (Dalam beberapa kasus sederhana, termasuk contoh yang digunakan di sini, solusi yang lebih baik adalah dengan menggunakan AutoTeks.)

10) Gunakan Tools Macros Makro Rekam untuk mulai merekam makro. Sebuah jendela kecil akan muncul sehingga Anda tahu LibreOffice yang merekam.
11) Ketikkan informasi yang diinginkan atau melakukan serangkaian operasi yang sesuai.Dalam hal ini, saya mengetik nama, Andrew Pitonyak. 12) Klik tombol Stop Recording untuk berhenti merekam, menyimpan makro, dan menampilkan dialog LibreOffice Dasar Macro.

Gambar 2: LibreOffice Makro dialog Organizer, modul Penulis dipilih 13) Jadilah tertentu untuk membuka kontainer perpustakaan bernama Macro saya.Cari perpustakaan bernama Standar bawah Macro saya.Jadilah memperingatkan, setiap kontainer perpustakaan memiliki perpustakaan bernama Standar.Pilih

perpustakaan dan klik Modul Standar Baru untuk membuat modul baru untuk mengandung makro. 14) Nama modul default adalah Module1.Ketik nama deskriptif dan klik OK untuk membuat modul.Para LibreOffice Dasar Macro dialog ditampilkan lagi, menunjukkan modul baru.

Gambar 3: Berikan modul Anda nama yang berarti


15) Sorot modul yang baru dibuat.Di sudut kiri atas, ketik nama makro untuk digunakan, seperti "EnterMyname", dan kemudian klik Save untuk menyimpan makro.

Jika Anda mengikuti semua langkah, perpustakaan Standar sekarang berisi modul bernama Direkam, yang berisi makro EnterMyName, seperti yang ditunjukkan pada.

Perhatikan

Ketika LibreOffice menciptakan modul baru, secara otomatis menambahkan makro bernama Utama.

Menjalankan makro
Gunakan Tools Macros Jalankan Makro untuk membuka dialog Selector Makro.Pilih makro yang baru dibuat dan klik Run.

Gambar 4: Pilih makro dan klik Run Ada metode lain untuk menjalankan makro. Misalnya, gunakan Tools Macros Organize Macros LibreOffice Dasar untuk membuka penyelenggara makro, yang berisi tombol Run juga.Metode lain adalah dengan menggunakan penyelenggara makro; dialog biasanya terbuka lebih cepat, tetapi proses seleksi mungkin sedikit lebih lambat.

Melihat dan mengedit makro


Anda dapat melihat dan mengedit makro yang baru saja dibuat. Gunakan Tools Macros Organize Macros LibreOffice Dasar untuk membuka dialog LibreOffice Dasar Macro (lihat).Pilih makro baru dan klik Edit untuk membuka makro di IDE Dasar (Integrated Development Environment). Kode 4: Dibuat "EnterMyname" makro.
REM ***** ***** DASAR Sub Utama Akhir Sub sub EnterMyName rem ------------------------------------------------- -----------rem mendefinisikan variabel redup dokumen sebagai objek redup Dispatcher sebagai objek rem ------------------------------------------------- -----------rem mendapatkan akses ke dokumen dokumen = ThisComponent.CurrentController.Bingkai Dispatcher = createUnoService ("com.sun.star.frame.DispatchHelper ") rem ------------------------------------------------- -----------redup args1 (0) sebagai baru com. matahari bintang.. kacang.PropertyValue args1 (0).Nama = "Teks" args1 (0).Nilai = "Andrew Pitonyak" operator executeDispatch (dokumen., "Uno:. InsertText", "", 0, args1 ()) akhir sub

Makro in tidak serumit dulu muncul.Belajar beberapa hal membantu secara signifikan dalam memahami macro yang dihasilkan. Pembahasan dimulai dengan fitur-fitur di dekat bagian atas dari daftar makro dan menggambarkan mereka. Jika Anda ingin menghindari rincian, maka cukup mengubah teks "Andrew Pitonyak" di makro di atas untuk apa yang ingin Anda masukkan pada posisi kursor saat ini.

Komentar mulai dengan REM


REM kata kunci, pendek untuk komentar, mulai komentar makro.Semua teks setelah REM (pada baris yang sama) diabaikan. Sebagai jalan pintas, karakter kutip tunggal juga dapat digunakan untuk memulai komentar.
LibreOffice Dasar tidak case-sensitif untuk kata kunci, sehingga REM, Rem, dan rem semua mulai komentar. Jika Anda menggunakan konstanta simbolik didefinisikan oleh API, lebih aman untuk mengasumsikan bahwa nama-nama adalah casesensitive-konstanta simbolis merupakan topik lanjutan biasanya tidak diperlukan oleh orang-orang yang menggunakan perekam makro.

Tip

Mendefinisikan subrutin dengan SUB


Macro individu disimpan dalam subrutin didefinisikan dengan kata kunci SUB. Akhir dari subrutin ditunjukkan oleh SUB AKHIR kata-kata. Kode mulai dengan mendefinisikan subrutin bernama Utama, yang kosong dan tidak apa-apa. Subrutin berikutnya, EnterMyName, berisi kode yang dihasilkan.

Tip

LibreOffice selalu menciptakan subrutin kosong bernama Utama

ketika hal tersebut menciptakan modul.

Ada topik-topik lanjutan yang berada di luar lingkup dokumen ini, tetapi mengetahui tentang mereka mungkin menarik:

Anda dapat menulis makro sehingga nilai-nilai dapat dikirimkan ke subrutin tersebut.Nilainilai yang disebut argumen. Direkam macro tidak menerima argumen. Jenis lain subrutin disebut fungsi.Fungsi adalah subrutin yang mengembalikan nilai. Para FUNGSI kata kunci digunakan daripada SUB untuk mendefinisikan fungsi. Macro yang dihasilkan selalu dari SUB tipe.

Mendefinisikan variabel dengan menggunakan DIM


Anda dapat menulis informasi pada selembar kertas sehingga Anda dapat melihat nanti. Sebuah variabel, seperti sepotong kertas, berisi informasi yang dapat diubah dan dibaca. Pernyataan DIM ini mirip dengan menyisihkan selembar kertas yang akan digunakan untuk menyimpan pesan atau catatan. Makro EnterMyName mendefinisikan variabel dan operator dokumen sebagai obyek jenis.Lain jenis variabel umum menyertakan string, integer, dan tanggal.Sebuah variabel ketiga, bernama args1, adalah sebuah array dari nilai properti.Sebuah variabel tipe array memungkinkan sebuah variabel tunggal untuk mengandung beberapa nilai, mirip dengan menyimpan beberapa halaman dalam satu buku.Nilai dalam array biasanya nomor mulai dari nol. Nomor dalam kurung menunjukkan jumlah tertinggi yang dapat digunakan untuk mengakses lokasi penyimpanan. Dalam contoh ini, hanya ada satu nilai, dan itu adalah nomor nol.

Menarik makro bersama-sama


Rincian berikut sangat lengkap, itu tidak penting untuk memahami semua rincian. Baris pertama mendefinisikan awal makro.
sub EnterMyName

Mendeklarasikan dua variabel:


redup dokumen sebagai objek redup Dispatcher sebagai objek

ThisComponent mengacu pada dokumen ini. Properti CurrentController dokumen mengacu pada layanan yang "mengontrol" dokumen. Sebagai contoh, ketika Anda mengetik, itu adalah kontroler saat ini bahwa pemberitahuan. Controller saat ini maka berita perubahan ke frame dokumen. Properti Bingkai controller mengembalikan bingkai utama untuk dokumen. Oleh karena itu, dokumen variabel bernama mengacu pada frame dokumen, yang menerima perintah dikirim.
dokumen = ThisComponent.CurrentController.Bingkai

Tugas yang paling dalam LibreOffice yang dicapai dengan mengirimkan perintah.LibreOffice mencakup layanan pengiriman pembantu, yang melakukan sebagian besar pekerjaan untuk menggunakan berita di macro.Metode ini CreateUnoService menerima nama layanan dan mencoba untuk membuat sebuah instance dari layanan tersebut. Pada selesai, variabel operator berisi referensi ke sebuah DispatchHelper.
Dispatcher = createUnoService ("com.sun.star.frame.DispatchHelper ")

Mendeklarasikan array dari properti. Properti masing-masing memiliki nama dan nilai. Dengan kata lain, itu adalah pasangan nama / nilai. Array diciptakan memiliki satu properti di nol indeks.
redup args1 (0) sebagai baru com. matahari bintang.. kacang.PropertyValue

Berikan properti nama "Teks" dan nilai "Andrew Pitonyak", yang merupakan teks yang dimasukkan ketika macro dijalankan.
args1 (0).Nama = "Teks" args1 (0).Nilai = "Andrew Pitonyak"

Di sinilah keajaiban terjadi. Helper pengiriman mengirimkan pengiriman ke frame dokumen (disimpan dalam dokumen variabel bernama) dengan perintah uno:. InsertText.Dua berikutnya argumen, bingkai nama dan bendera pencarian, berada di luar lingkup dokumen ini.Argumen terakhir adalah array nilai properti yang akan digunakan saat mengeksekusi perintah InsertText.
operator executeDispatch (dokumen., "Uno:. InsertText", "", 0, args1 ())

Akhirnya, akhir subrutin tersebut.


akhir sub

Membuat makro
Ketika membuat makro, penting untuk menanyakan dua pertanyaan sebelum merekam:
16) Dapat tugas ditulis sebagai satu set perintah yang sederhana? 17) Dapatkah langkah diatur sedemikian rupa sehingga perintah terakhir meninggalkan kursor siap untuk perintah berikutnya?

Sebuah contoh yang rumit


Saya sering menyalin baris dan kolom data dari sebuah situs web dan format mereka sebagai tabel dalam dokumen teks. Pertama, saya salin tabel dari situs web ke clipboard. Untuk menghindari format dan font yang aneh, saya paste teks ke dalam dokumen Writer sebagai teks terformat. Saya memformat teks dengan tab antara kolom sehingga saya dapat menggunakan Tabel Mengkonversi Teks Tabel untuk mengkonversi ke sebuah meja. Aku memeriksa teks untuk melihat apakah saya bisa merekam makro untuk memformat teks (ingat dua pertanyaan yang saya tanyakan). Sebagai contoh, saya menyalin kelompok konstanta FontWeight dari situs web API.Kolom pertama menunjukkan nama konstanta. Setiap nama diikuti dengan spasi dan tab. DONTKNOW TIPIS Ultralight CAHAYA SEMILIGHT NORMAL SEMIBOLD BOLD ULTRABOLD Berat font yang tidak ditentukan / diketahui. menentukan font weight 50%. menentukan font weight 60%. menentukan font weight 75%. menentukan font weight 90%. menentukan berat font normal. menentukan font weight 110%. menentukan font weight 150%. menentukan font weight 175%.

HITAM

menentukan font weight 200%.

Saya ingin kolom pertama berisi nilai numerik, kolom kedua nama, dan kolom ketiga deskripsi. Pekerjaan yang diinginkan mudah dicapai untuk setiap baris kecuali untuk DONTKNOW dan NORMAL, yang tidak mengandung nilai numerik tapi aku tahu bahwa nilai-nilai adalah 0 dan 100, jadi saya akan masuk tersebut secara manual. Data dapat dibersihkan dalam beberapa cara-semuanya mudah. Contoh pertama menggunakan keystrokes yang mengasumsikan kursor pada awal baris dengan teks TIPIS.
18) Gunakan Tools Macros Makro Rekam untuk mulai merekam. 19) Tekan Ctrl + Panah Kanan untuk memindahkan kursor ke awal dari "menentukan". 20) Tekan Backspace untuk menghapus dua kali tab dan ruang. 21) Tekan Tab untuk menambahkan tab tanpa spasi setelah nama konstan. 22) Tekan Hapus untuk menghapus huruf kecil dan kemudian tekan S untuk menambahkan huruf S. 23) Tekan Ctrl + Panah Kanan dua kali untuk memindahkan kursor ke awal nomor. 24) Tekan Ctrl + Shift + Panah Kanan untuk memilih dan memindahkan kursor sebelum tanda%. 25) Tekan Ctrl + C untuk menyalin teks yang dipilih ke clipboard. 26) Tekan Akhiri untuk memindahkan kursor ke akhir baris. 27) Tekan Backspace untuk menghapus dua kali dua spasi. 28) Tekan Home untuk memindahkan kursor ke awal baris. 29) Tekan Ctrl + V untuk paste nomor yang dipilih ke awal baris. 30) Menyisipkan nilai juga disisipkan ruang ekstra, sehingga tekan Backspace untuk menghapus ruang ekstra. 31) Tekan Tab untuk menyisipkan tab antara jumlah dan nama. 32) Tekan Home untuk berpindah ke awal baris. 33) Tekan ke bawah panah untuk pindah ke baris berikutnya. 34) Berhenti merekam dan menyimpan makro makro.

Ini memakan waktu lebih lama untuk membaca dan menulis langkah-langkah dari untuk merekam makro. Bekerja perlahan-lahan dan berpikir tentang langkah-langkah seperti yang Anda lakukan mereka. Dengan praktek ini menjadi sifat dasar kedua. Makro yang dihasilkan telah dimodifikasi untuk memuat langkah nomor di komentar untuk mencocokkan kode untuk langkah di atas. Kode 5: Salin nilai numerik ke awal kolom.
sub CopyNumToCol1 rem ------------------------------------------------- -----------rem mendefinisikan variabel redup dokumen sebagai objek redup Dispatcher sebagai objek rem ------------------------------------------------- -----------rem mendapatkan akses ke dokumen dokumen = ThisComponent.CurrentController.Bingkai Dispatcher = createUnoService ("com.sun.star.frame.DispatchHelper ") rem (2) Tekan Ctrl + Panah Kanan untuk memindahkan kursor ke awal dari "menentukan". operator executeDispatch (dokumen., "Uno:. GoToNextWord", "", 0, Array ()) rem (3) Tekan Backspace dua kali untuk menghapus tab dan ruang. operator executeDispatch (dokumen., "Uno:. SwBackspace", "", 0, Array ()) rem ------------------------------------------------- -----------operator executeDispatch (dokumen., "Uno:. SwBackspace", "", 0, Array ())

rem (4) Tekan Tab untuk menambahkan tab tanpa spasi setelah nama konstan. redup args4 (0) sebagai baru com. matahari bintang.. kacang.PropertyValue args4 (0).Nama = "Teks" args4 (0).Nilai = CHR $ (9) operator executeDispatch (dokumen., "Uno:. InsertText", "", 0, args4 ()) rem (5) Tekan Hapus untuk menghapus huruf kecil s .... operator executeDispatch (dokumen., "Uno:. Hapus", "", 0, Array ()) rem (5) ... dan kemudian tekan S untuk menambahkan huruf S. redup args6 (0) sebagai baru com. matahari bintang.. kacang.PropertyValue args6 (0).Nama = "Teks" args6 (0).Nilai = "S" operator executeDispatch (dokumen., "Uno:. InsertText", "", 0, args6 ()) rem (6) Tekan Ctrl + Panah Kanan dua kali untuk memindahkan kursor ke nomor tersebut. operator executeDispatch (dokumen., "Uno:. GoToNextWord", "", 0, Array ()) rem ------------------------------------------------- -----------operator executeDispatch (dokumen., "Uno:. GoToNextWord", "", 0, Array ()) rem (7) Tekan Ctrl + Shift + Panah Kanan untuk memilih nomor tersebut. operator executeDispatch (dokumen., "Uno:. WordRightSel", "", 0, Array ()) rem (8) Tekan Ctrl + C untuk menyalin teks yang dipilih ke clipboard. operator executeDispatch (dokumen., "Uno:. Salin", "", 0, Array ()) rem (9) Tekan Akhir untuk memindahkan kursor ke akhir baris. operator executeDispatch (dokumen., "Uno:. GoToEndOfLine", "", 0, Array ()) rem (10) Tekan Backspace dua kali untuk menghapus dua spasi tambahan. operator executeDispatch (dokumen., "Uno:. SwBackspace", "", 0, Array ()) rem ------------------------------------------------- -----------operator executeDispatch (dokumen., "Uno:. SwBackspace", "", 0, Array ()) rem (11) Tekan Home untuk memindahkan kursor ke awal baris. operator executeDispatch (dokumen., "Uno:. GoToStartOfLine", "", 0, Array ()) rem (12) Tekan Ctrl + V untuk menyisipkan nomor yang dipilih ke awal baris. operator executeDispatch (dokumen., "Uno:. Tempel", "", 0, Array ()) rem (13) Tekan Backspace untuk menghapus ruang ekstra. operator executeDispatch (dokumen., "Uno:. SwBackspace", "", 0, Array ()) rem (14) Tekan Tab untuk menyisipkan tab antara jumlah dan nama. redup args17 (0) sebagai baru com. matahari bintang.. kacang.PropertyValue args17 (0).Nama = "Teks" args17 (0).Nilai = CHR $ (9) operator executeDispatch (dokumen., "Uno:. InsertText", "", 0, args17 ())

rem (15) Tekan Rumah untuk pindah ke awal baris. operator executeDispatch (dokumen., "Uno:. GoToStartOfLine", "", 0, Array ()) rem (16) Tekan Panah Bawah untuk pindah ke baris berikutnya. redup args19 (1) sebagai baru com. matahari bintang.. kacang.PropertyValue args19 (0).Nama = "Count" args19 (0).Nilai = 1 6.1Nama = "Pilih" 6.1Nilai = palsu operator executeDispatch (dokumen., "Uno:. Gudang", "", 0, args19 ()) akhir sub

Gerakan kursor digunakan untuk semua operasi (sebagai lawan pencarian). Jika berjalan di garis DONTKNOW, berat kata dipindahkan ke depan barisan, dan yang pertama "The" diubah menjadi "Dia".Ini tidak sempurna, tapi aku seharusnya tidak menjalankan makro pada baris yang tidak memiliki format yang tepat, saya perlu melakukan ini secara manual.

Menjalankan makro dengan cepat


Hal ini membosankan untuk berulang kali menjalankan makro menggunakan Tools Macros Run Makro (lihat).Makro dapat dijalankan dari IDE. Gunakan Tools Macros Organize Macros LibreOffice Dasar untuk membuka dialog Dasar Makro.Pilih makro Anda dan klik Edit untuk membuka makro di IDE. IDE memiliki ikon Dasar Run di toolbar yang menjalankan makro pertama dalam IDE. Kecuali Anda mengubah makro pertama, adalah makro kosong bernama Utama. Modifikasi utama sehingga berbunyi sebagai ditunjukkan dalam. Kode 6: Memodifikasi Utama untuk memanggil CopyNumToCol1.
Sub Utama CopyNumToCol1 Akhir Sub

Sekarang, Anda dapat menjalankan CopyNumToCol1 dengan berulang kali mengklik ikon Dasar Run di toolbar dari IDE. Hal ini sangat cepat dan mudah, terutama untuk macro sementara yang akan digunakan beberapa kali dan kemudian dibuang.

Kadang-kadang perekam makro gagal


Memahami internal LibreOffice membantu untuk memahami bagaimana dan mengapa perekam makro sering gagal.Pelaku utama adalah terkait dengan kerangka pengiriman dan hubungannya dengan perekam makro.

Pengiriman kerangka kerja


Tujuan dari kerangka pengiriman adalah untuk menyediakan akses seragam untuk komponen (dokumen) untuk perintah yang biasanya sesuai dengan item menu.Saya dapat menggunakan File Save dari menu, tombol pintas Ctrl + S, atau klik pada ikon toolbar Simpan.Semua perintah tersebut diterjemahkan ke dalam "perintah dispatch" yang sama. Kerangka pengiriman juga dapat digunakan untuk mengirim "perintah" kembali ke UI (User Interface). Misalnya, setelah menyimpan dokumen, perintah Simpan File dinonaktifkan. Begitu dokumen telah diubah, perintah Simpan File diaktifkan.

Jika kita melihat perintah pengiriman, itu adalah teks seperti uno:.. InsertObject atau uno: GoToStartOfLine. Perintah ini dikirim ke frame dokumen, dan frame melewati pada perintah sampai ditemukan suatu objek yang dapat menangani perintah.

Bagaimana perekam makro menggunakan kerangka pengiriman


Perekam makro mencatat berita yang dihasilkan. Perekam relatif sederhana untuk menerapkan dan perintah yang sama yang diterbitkan dicatat untuk kemudian digunakan. Masalahnya adalah bahwa tidak semua perintah dikirim yang lengkap. Misalnya, memasukkan objek menghasilkan kode berikut:
operator executeDispatch (dokumen., "Uno:. InsertObject", "", 0, Array ())

Hal ini tidak mungkin untuk menentukan apa jenis objek untuk membuat atau menyisipkan. Jika suatu benda dimasukkan dari sebuah file, Anda tidak bisa menentukan mana file untuk menyisipkan. Saya mencatat makro dan digunakan Peralatan Pilihan untuk membuka dan memodifikasi item konfigurasi.Makro yang dihasilkan tidak merekam perubahan konfigurasi, bahkan, kode yang dihasilkan berkomentar sehingga bahkan tidak akan dijalankan.
rem dispatcher.executeDispatch (dokumen, "Uno:. OptionsTreeDialog", "", 0, Array ())

Jika dialog dibuka, perintah untuk membuka dialog mungkin akan dihasilkan. Setiap pekerjaan dilakukan di dalam dialog biasanya tidak tercatat. Contohnya termasuk dialog organisasi makro, memasukkan karakter khusus, dan jenis serupa dialog. Masalah lain yang mungkin menggunakan perekam makro mencakup hal-hal seperti memasukkan rumus, pengaturan data pengguna, pengaturan filter pada Calc, tindakan dalam bentuk database, dan mengekspor dokumen ke file PDF dienkripsi. Anda tidak pernah tahu pasti apa yang akan berfungsi kecuali jika Anda mencobanya, namun. Tindakan dari dialog pencarian benar ditangkap, misalnya.

Pilihan lain
Ketika perekam makro tidak dapat memecahkan suatu masalah tertentu, solusi yang biasa adalah menulis kode menggunakan benda LibreOffice.Sayangnya, ada kurva belajar yang curam untuk objek. Hal ini biasanya terbaik untuk memulai dengan contohcontoh sederhana dan kemudian cabang keluar perlahan-lahan saat Anda belajar lebih banyak. Belajar membaca macro yang dihasilkan adalah tempat yang baik untuk memulai. Jika Anda merekam macro Calc, dan perekam dengan benar dapat menghasilkan makro, ada add-in yang dibuat oleh Paolo Mantovani, yang mengubah macro Calc ketika mereka direkam.Kode akhir memanipulasi objek LibreOffice daripada kiriman menghasilkan.Hal ini dapat sangat berguna untuk mempelajari model objek. Anda dapat men-download perekam makro dari situs web Paolo langsung: http://www.paolo-mantovani.org/downloads/ DispatchToApiRecorder /

Makro organisasi
Dalam LibreOffice, macro dikelompokkan dalam modul, modul dikelompokkan di perpustakaan, dan perpustakaan dikelompokkan dalam wadah perpustakaan.Perpustakaan biasanya digunakan sebagai pengelompokan utama baik untuk seluruh kategori macro, atau untuk seluruh aplikasi. Modul biasanya membagi fungsi, seperti interaksi pengguna dan perhitungan. Macro individu subrutin dan fungsi.

Gambar 5: Makro hirarki Perpustakaan

Seorang ilmuwan komputer akan digunakan untuk secara tepat menggambarkan situasi.Teks "1 ..*" berarti satu atau lebih, dan "0 ..*" berarti nol atau lebih. Segitiga hitam berarti terdiri dari atau berisi.

Sebuah wadah perpustakaan berisi satu atau lebih perpustakaan, dan perpustakaan masingmasing terkandung dalam satu wadah perpustakaan. Sebuah perpustakaan berisi nol atau lebih modul, dan setiap modul adalah terkandung dalam satu perpustakaan. Modul berisi nol atau lebih makro, dan makro masing-masing terkandung dalam satu modul.

Gambar 6: Makro hirarki Perpustakaan

Gunakan Tools Macros Organize Macros LibreOffice Dasar untuk membuka dialog LibreOffice Dasar Macro (lihat).Semua wadah perpustakaan yang tersedia akan ditampilkan di Makro dari daftar.Setiap dokumen adalah wadah perpustakaan, mampu mengandung beberapa perpustakaan. Aplikasi itu sendiri bertindak sebagai dua kontainer perpustakaan, satu kontainer untuk macro didistribusikan dengan LibreOffice disebut Macro LibreOffice, dan satu wadah untuk macro pribadi yang disebut Macro saya.Seperti ditunjukkan dalam, hanya dua dokumen yang sedang terbuka.

Gambar 7: Perpustakaan kontainer ditunjukkan di sebelah kiri Para Macro LibreOffice disimpan dengan kode runtime aplikasi, yang mungkin tidak dapat diedit untuk Anda kecuali Anda seorang administrator.Ini hanya juga karena macro ini tidak boleh diubah dan Anda tidak harus menyimpan macro Anda sendiri dalam wadah LibreOffice. Kecuali macro Anda berlaku untuk satu dokumen, dan hanya untuk satu dokumen, macro Anda mungkin akan disimpan dalam wadah Macro saya. Wadah Macro saya disimpan di daerah Anda atau pengguna direktori home. Jika makro yang terkandung dalam dokumen, maka makro yang direkam akan mencoba untuk bekerja pada dokumen tersebut; terutama karena menggunakan "ThisComponent" atas tindakannya. Setiap kontainer berisi perpustakaan perpustakaan bernama Standar.Lebih baik untuk membuat perpustakaan sendiri dengan nama-nama bermakna daripada menggunakan perpustakaan Standar. Tidak hanya nama-nama bermakna lebih mudah untuk mengelola, tetapi mereka juga dapat diimpor ke dalam wadah perpustakaan lainnya sedangkan Standar perpustakaan tidak bisa.

"Perhatian!"

LibreOffice memungkinkan Anda untuk mengimpor

perpustakaan ke dalam wadah perpustakaan, tetapi tidak akan memungkinkan Anda untuk menimpa perpustakaan bernama Standar.Oleh karena itu, jika Anda menyimpan macro Anda di perpustakaan Standar, Anda tidak dapat mengimpor mereka ke wadah lain perpustakaan.

Sama seperti itu masuk akal baik untuk memberikan nama-nama bermakna perpustakaan Anda, adalah bijaksana untuk menggunakan nama yang bermakna untuk modul Anda. Secara default, LibreOffice menggunakan nama-nama seperti Module1.Merasa bebas untuk menggunakan nama sendiri bermakna Anda. Ketika Anda membuat macro, Anda harus memutuskan tempat untuk menyimpan mereka. Menyimpan makro dalam dokumen ini berguna jika dokumen akan dibagi dan Anda ingin makro yang akan disertakan dengan dokumen. Macro disimpan dalam wadah perpustakaan aplikasi bernama Macro saya, bagaimanapun, secara global tersedia untuk semua dokumen.

Macro tidak tersedia sampai perpustakaan yang berisi mereka dimuat. Standar perpustakaan dan perpustakaan Template, bagaimanapun, secara otomatis dimuat. Sebuah perpustakaan dimuat ditampilkan berbeda dari perpustakaan yang tidak dimuat. Untuk memuat perpustakaan dan modul yang dikandungnya, klik ganda pada perpustakaan.

Dimana macro disimpan?


LibreOffice toko pengguna data spesifik dalam sebuah direktori di bawah direktori home user.Lokasi yang sistem operasi tertentu. Gunakan Tools Pilihan LibreOffice Jalan untuk melihat dimana data konfigurasi lainnya disimpan.Pada Windows XP, ini adalah C: \ Documents and Settings \ <nama> \ Application Data.Pengguna macro disimpan dalam LibreOffice \ 3 \ user \ dasar.Setiap perpustakaan disimpan di direktori sendiri dari direktori dasar. Hal ini tidak penting untuk memahami di mana macro disimpan untuk penggunaan kasual. Jika Anda tahu di mana mereka disimpan, bagaimanapun, Anda dapat membuat cadangan, berbagi macro Anda, atau memeriksa mereka jika ada kesalahan. Gunakan Tools Macros Organize Dialog untuk membuka dialog LibreOffice Organizer Makro.Cara lain yang umum untuk membuka dialog ini adalah dengan menggunakan Tools Macros Organize Macros LibreOffice Dasar untuk membuka dialog LibreOffice Macro dan kemudian klik tombol Organizer.

Gambar 8: Dialog organizer makro

Mengimpor macro
LibreOffice yang Dialog Organizer Makro menyediakan fungsionalitas untuk membuat, menghapus, dan mengubah nama perpustakaan, modul, dan dialog.Pilih wadah perpustakaan untuk menggunakan dan kemudian klik tombol Impor untuk mengimpor perpustakaan makro (lihat).

Perhatikan

Anda tidak dapat mengimpor perpustakaan bernama Standar. Pada Linux, LibreOffice-file spesifik disimpan di bawah direktori home pengguna dalam sebuah direktori yang namanya dimulai dengan suatu periode.Direktori dan file dengan nama yang dimulai dengan periode yang tidak ditampilkan dalam dialog pemilihan normal. Untuk membuka direktori, baik arahkan ke direktori home, masukkan nama ibreoffice l \ 3,. Dan kemudian klik Open atau tekan Ctrl-H untuk menunjukkan folder tersembunyi dan file dan navigasi seperti biasa.Ini akan membuka direktori, yang awalnya tidak ditampilkan.

Tip

Gambar 9: Pilih sebuah perpustakaan makro untuk mengimpor Arahkan ke direktori yang berisi perpustakaan untuk impor. Biasanya ada dua file dari yang untuk memilih, dialog.xlb dan script.xlb. Tidak peduli yang mana dari kedua file yang Anda pilih, keduanya akan diimpor. Pilih file dan klik Open untuk melanjutkan.

perpustakaan impor

Gambar 10: Pilih pilihan

Jika perpustakaan sudah ada, itu tidak akan diganti kecuali Ganti perpustakaan yang ada diperiksa.Jika Sisipkan sebagai referensi diperiksa, perpustakaan direferensikan di lokasi saat ini, tetapi Anda tidak dapat mengedit perpustakaan.Jika Sisipkan sebagai referensi tidak diperiksa, bagaimanapun, perpustakaan akan disalin ke direktori makro pengguna. Macro dapat disimpan di perpustakaan di dalam dokumen LibreOffice.Pilih dokumen daripada direktori pada disk (seperti yang ditunjukkan dalam) untuk mengimpor perpustakaan yang terkandung dalam dokumen.

Men-download macro untuk mengimpor


Macro yang tersedia untuk di-download. Beberapa macro yang terkandung dalam dokumen, beberapa file seperti biasa bahwa Anda harus memilih dan impor, dan beberapa teks sebagai makro yang harus disalin dan disisipkan ke dalam IDE Dasar; gunakan Tools Macros Organize Macros LibreOffice Dasar untuk membuka dialog LibreOffice Macro, pilih makro untuk mengedit, dan kemudian klik Edit untuk membuka makro di IDE Dasar. Beberapa macro yang tersedia sebagai download gratis di Internet (lihat). "" Pada halaman menjelaskan cara menambahkan macro ini ke perpustakaan macro Anda. Tabel 1.Tempat untuk menemukan contoh makro Lokasi
http://www.ooomacros.org/ http://www.pitonyak.org/oo.php http://www.pitonyak.org/database/ http://development.openoffice.org/ http://www.oooforum.org/

Deskripsi
Koleksi macro dikemas sekarang agak tanggal. Bahan referensi tentang macro. Bahan-bahan referensi tentang macro database. Banyak link ke semuanya. Sebuah forum, dengan banyak contoh dan membantu.

http://user.services.openoffice.org/

Forum lain, dengan banyak contoh dan membantu.

Bagaimana menjalankan makro


Sebuah metode khas untuk menjalankan makro adalah sebagai berikut:
35) Gunakan Tools Macros Jalankan Makro untuk membuka dialog Pemilih Makro (lihat). 36) Pilih perpustakaan dan modul dalam daftar Library (kiri sisi). 37) Pilih makro dalam daftar nama Makro (sisi kanan). 38) Klik Run untuk menjalankan makro.

Gambar 11: Gunakan dialog Selector Makro untuk menjalankan macro Meskipun Anda dapat menggunakan Tools Makro Macro Run untuk menjalankan semua macro, ini tidak efisien untuk macro sering dijalankan.Sebuah teknik yang lebih umum adalah untuk menetapkan makro untuk tombol toolbar, menu, shortcut keyboard, atau tombol tertanam dalam dokumen. Sementara memilih metode, juga baik untuk mengajukan pertanyaan seperti:

Harus makro akan tersedia hanya untuk satu dokumen, atau global untuk semua dokumen? Apakah makro berkaitan dengan suatu jenis dokumen tertentu, seperti dokumen Calc? Seberapa sering makro dapat digunakan?

Jawaban akan menentukan di mana untuk menyimpan makro dan bagaimana membuatnya tersedia. Sebagai contoh, Anda mungkin tidak akan menambahkan makro jarang digunakan untuk toolbar. Untuk membantu menentukan pilihan Anda, lihat. Tabel 2.Metode untuk memulai makro Tipe
Toolbar Menu Shortcuts Event

LibreOffice
Tidak Tidak Yes Yes

Dokumen Jenis
Yes Yes Yes Tidak

DOKUMEN
Yes Yes Tidak Yes

Untuk menambahkan sebuah item menu, shortcut keyboard, atau ikon toolbar yang panggilan makro, menggunakan dialog Customize (lihat).Buka dialog ini dalam salah satu dari cara-cara:

Pilih Tools Customize dari menu bar utama. Setiap toolbar ikon yang membuka menu, pilihlah opsi Customize Toolbar.

Tip

Cakupan yang lengkap dari dialog Customize adalah di luar lingkup dokumen ini. Klik tombol Help untuk mengakses halaman bantuan yang disertakan dengan LibreOffice.

Dialog Customize berisi tab untuk mengkonfigurasi menu, keyboard bindings, toolbar, dan peristiwa.

Toolbar
Macro dapat ditambahkan ke toolbar. Untuk lebih lanjut tentang memodifikasi toolbar, lihat Bab 14, Menyesuaikan LibreOffice.

Menu item
Gunakan Tools Customize untuk membuka dialog Customize, dan pilih tab Menu.Anda dapat memodifikasi menu yang ada, atau menciptakan menu baru yang memanggil macro. Untuk lebih lanjut tentang memodifikasi menu, lihat Bab 14.

Cara pintas keyboard


Gunakan Tools Customize untuk membuka dialog Customize, dan pilih tab Keyboard.Menetapkan cara pintas keyboard dibahas dalam Bab 14.

Gambar 12: LibreOffice Customize dialog

Event
Dalam LibreOffice, ketika sesuatu terjadi, kita mengatakan bahwa suatu peristiwa terjadi.Sebagai contoh, dokumen itu dibuka, tombol ditekan, atau mouse bergerak. LibreOffice memungkinkan peristiwa menyebabkan makro yang akan dipanggil, makro ini kemudian disebut event handler.Cakupan penuh dari event handler baik di luar lingkup dokumen ini, tetapi sedikit pengetahuan dapat mencapai banyak.
Berhati-hatilah saat Anda mengkonfigurasi sebuah event handler. Sebagai contoh, asumsikan bahwa Anda menulis sebuah event handler yang disebut setiap kali tombol ditekan, tetapi Anda membuat kesalahan sehingga acara ini tidak ditangani dengan benar. Salah satu hasil yang mungkin adalah bahwa event handler Anda akan mengkonsumsi semua penekanan tombol, memaksa Anda untuk mengakhiri LibreOffice paksa.

"Perhatian!"

Gunakan Tools Customize untuk membuka dialog Customize, dan pilih tab Acara (lihat).Kejadian-kejadian dalam dialog Customize terkait dengan seluruh aplikasi dan

dokumen yang spesifik. Gunakan Simpan Dalam kotak untuk memilih LibreOffice, atau dokumen tertentu.

Gambar 13: Menetapkan makro untuk sebuah acara tingkat aplikasi Yang umum digunakan adalah untuk menetapkan acara Open Document untuk memanggil makro tertentu. Makro kemudian melakukan tugas-tugas pengaturan tertentu untuk dokumen. Pilih acara yang diinginkan dan klik tombol Makro untuk membuka dialog Pemilih Makro (lihat).

Gambar 14: Menetapkan makro untuk acara dokumen terbuka Pilih makro yang diinginkan dan klik OK untuk menetapkan makro untuk acara tersebut.Peristiwa tab menunjukkan bahwa peristiwa tersebut telah ditetapkan ke makro (lihat).Ketika dokumen terbuka, makro PrintHello dijalankan. Banyak objek dalam dokumen dapat diatur untuk memanggil macro ketika peristiwa terjadi. Penggunaan paling umum adalah untuk menambahkan kontrol, seperti tombol, ke dalam dokumen. Bahkan klik ganda pada grafik membuka dialog dengan tab Macro yang memungkinkan Anda untuk menetapkan makro ke sebuah event.

Gambar 15: HelloMacro ditugaskan ke acara Open Document

Ekstensi
Perpanjangan sebuah paket yang dapat diinstal ke dalam LibreOffice untuk menambah fungsionalitas baru.Ekstensi dapat ditulis dalam hampir semua bahasa pemrograman dan dapat sederhana atau canggih. Ekstensi dapat dikelompokkan ke dalam jenis:

Calc Add-Ins, yang menyediakan fungsionalitas baru untuk Calc, termasuk fungsi-fungsi baru yang bertindak seperti biasa built-in fungsi Komponen dan fungsi baru, yang biasanya mencakup beberapa tingkat integrasi UI seperti menu baru atau toolbar Data pilot yang digunakan secara langsung pada Calc Bagan Add-Ins dengan jenis grafik baru Linguistik komponen seperti pengecek ejaan Dokumen template dan gambar

Meskipun ekstensi individu dapat ditemukan di tempat yang berbeda, saat ini ada sebuah repositori ekstensi pada: http://extensions2.libreoffice.org/ dan beberapa dokumentasi di http://libreplanet.org/wiki/Group:OpenOfficeExtensions/List Untuk lebih lanjut tentang mendapatkan dan menginstal ekstensi, lihat Bab 14, Menyesuaikan LibreOffice.

Menulis macro tanpa perekam


Contoh-contoh yang dibahas dalam bab ini dibuat menggunakan perekam makro dan Operator. Anda juga dapat menulis macro yang secara langsung mengakses obyek yang terdiri dari LibreOffice.Dengan kata lain, Anda langsung dapat memanipulasi dokumen. Langsung memanipulasi objek internal LibreOffice adalah sebuah topik lanjutan yang berada di luar lingkup bab ini. Sebuah contoh sederhana, bagaimanapun, menunjukkan bagaimana ini bekerja. Kode 7: Tambahkan teks "Hello" ke dokumen saat ini.
Sub AppendHello Dim oDoc Dim sTextService $ Dim oCurs REM ThisComponent mengacu ke dokumen yang sedang aktif. oDoc = ThisComponent REM Pastikan bahwa ini adalah sebuah dokumen teks sTextService = "Com.sun.star.text.TextDocument " Jika TIDAK oDoc. SupportsService (sTextService) Lalu MsgBox "makro ini hanya bekerja dengan dokumen teks" Keluar Sub Akhir Jika REM Dapatkan kursor tampilan dari controller saat ini. oCurs = oDoc. currentController getViewCursor (.) REM Pindahkan kursor ke akhir dokumen oCurs gotoEnd (False). REM Insert text "Hello" pada akhir dokumen oCurs.Teks insertString (oCurs., "Halo", False) Akhir Sub

Menemukan informasi lebih lanjut


Banyak sumber daya yang tersedia yang memberikan bantuan dengan menulis macro.Gunakan Bantuan LibreOffice Bantuan untuk membuka halaman LibreOffice bantuan.Sudut kiri atas dari sistem bantuan LibreOffice berisi daftar drop-down yang menentukan yang mengatur bantuan ditampilkan. Untuk melihat bantuan untuk Basic, pilih LibreOffice Dasar dari daftar ini.

Termasuk materi
Macro yang baik yang disertakan dengan LibreOffice. Gunakan Tools Macros Organize Macros LibreOffice Dasar untuk membuka dialog Makro.Memperluas perpustakaan Tools dalam wadah perpustakaan LibreOffice.Periksa modul-beberapa Debug contoh yang baik termasuk WritedbgInfo (dokumen) dan printdbgInfo (lembar).

Sumber daya online


Link berikut dan referensi berisi informasi tentang pemrograman makro:

. http://user.services openoffice.org / (OOo forum, juga didukung; menjawab pertanyaan tentang LibreOffice relawan juga) . http://api openoffice.org / docs / common / ref / com / matahari / bintang / modulix.html (IDL referensi resmi, di sini Anda akan menemukan hampir setiap perintah dengan deskripsi) http://wiki.services. op enoffice.org / wiki / Dokumentasi / BASIC_Guide (resmi OpenOffice.org Panduan Pemrograman BASIC).Juga tersedia dalam.ODT format dari http://wiki.documentfoundation.org/Documentation # Other_Documentation_and_Resources http://wiki.services.openoffice.org/wiki/Documentation/DevGuide (resmi OpenOffice.org Panduan Pengembang; berisi penjelasan rinci).Juga tersedia dalam.ODT format dari http://wiki.documentfoundation.org/Documentation # Other_Documentation_and_Resources http://www.pitonyak.org/oo.php (Halaman makro Andrew Pitonyak ini) http://www.pitonyak.org/AndrewMacro.odt (banyak contoh macro bekerja) http://www.pitonyak.org/OOME_3_0.odt (buku Andrew Pitonyak tentang macro) http://www.pitonyak.org/database/ (contoh makro banyak menggunakan Base) http://docs.sun.com/app/docs/doc/819-0439 (buku Sun pada pemrograman makrosangat baik tertulis dan ditata; Panduan Pemrograman OOo BASIC dan OOo Panduan Pengembang berasal dari buku ini)

Dicetak dan bahan eBook


Saat ini tidak ada buku khusus untuk macro LibreOffice yang tersedia untuk di-download. Untuk OpenOffice.org buku-buku berikut ini tersedia untuk pembelian dalam bentuk cetak maupun e-book dari penerbit mereka. Dr Mark Alexander Bain OpenOffice.org Spreadsheet Pelajari Pemrograman Makro. Lihat http://www.packtpub.com/openoffice-ooobasic-calc-automation/book. Roberto Benitez Pemrograman database dengan OpenOffice.org Base & Dasar. Lihat http://www.lulu.com/product/paperback/database-programming-withopenofficeorg-base-basic/3568728

Anda mungkin juga menyukai

  • Surat Pernyataan Guru BPPDGS
    Surat Pernyataan Guru BPPDGS
    Dokumen6 halaman
    Surat Pernyataan Guru BPPDGS
    Muhsin Nafik
    Belum ada peringkat
  • Fiqih
    Fiqih
    Dokumen2 halaman
    Fiqih
    Muhsin Nafik
    Belum ada peringkat
  • Aqidah
    Aqidah
    Dokumen3 halaman
    Aqidah
    Muhsin Nafik
    Belum ada peringkat
  • Tema 8
    Tema 8
    Dokumen4 halaman
    Tema 8
    Muhsin Nafik
    Belum ada peringkat
  • Hadits
    Hadits
    Dokumen2 halaman
    Hadits
    Muhsin Nafik
    Belum ada peringkat
  • Tauhid
    Tauhid
    Dokumen2 halaman
    Tauhid
    Muhsin Nafik
    100% (1)
  • B. Arab
    B. Arab
    Dokumen2 halaman
    B. Arab
    Muhsin Nafik
    Belum ada peringkat