Makroyu kaynak kütüğe eklemek
Bu derste Libre Office kütüklerine yakından bakıp oluşturduğumuz makroları kütüğe nasıl gömebileceğimize bakacağız.
İlk derste tek bir hücreye konum yazmıştık.
Bu derste birden çok hücreye konum bilgilerini yazmaya çalışacağız.
Öncelikle dersler/konum
ismi ile bir dizin oluşturalım ve bu dizinin içine girelim.
mkdir dersler
mkdir dersler/konum
cd dersler/konum/
Hesap tablosu yazılımını başlatınız.
libreoffice --calc --norestore
Açılan boş belgeyi Dosya -> Farklı Kaydet
seçeneği ile oluşturduğumuz /dersler/konum/
dizininde konum
ismi ile kaydediniz.
Tekrardan bu dizine gelip kütüğü genişletelim.
cd dersler/konum/
unzip konum.ods
Öncelikle eski kütüğü silelim.
rm konum.ods
Python betiklerini kaydetmek için Scripts/python
isimli bir dizin oluşturmak gerekiyor.
mkdir Scripts
mkdir Scripts/python
Belgenin içine gömmek istediğimiz betikleri python
dizininde oluşturacağız.
Bu dizinde konum.py
kütüğü içine aşağıdaki bilgileri girelim.
import uno
def konumYaz (args=None):
belge = XSCRIPTCONTEXT.getDocument()
sayfa = belge.Sheets[0]
for satır in range(15):
for sütun in range(15):
geçerliHücre = sayfa.getCellByPosition(sütun, satır)
yazılacak = "(" + str(satır) + "," + str(sütun) + ")"
geçerliHücre.setString(yazılacak)
def içeriğiSil (args=None):
belge = XSCRIPTCONTEXT.getDocument()
sayfa = belge.Sheets[0]
for satır in range(15):
for sütun in range(15):
geçerliHücre = sayfa.getCellByPosition(sütun, satır)
geçerliHücre.setString("")
Python kütüğünü oluşturduktan sonra META-INF
dizininde bulunan manifest.xml
kütüğünü açalım.
nano META-INF/manifest.xml
Sonda bulunan </manifest:manifest>
bölümünden önce şu satırları ekleyelim.
<manifest:file-entry manifest:full-path="Scripts/python/konum.py" manifest:media-type="" />
<manifest:file-entry manifest:full-path="Scripts/python/" manifest:media-type="application/binary" />
<manifest:file-entry manifest:full-path="Scripts/" manifest:media-type="application/binary" />
Hesap tablosunu tekrar oluşturmak için aşağıdaki komutu veriniz.
zip -r ../konum.ods *
Böylece dersler dizininde hesap tablomuz oluştu. Tek farkla ki artık gömülü olarak bir Python betiği içeriyor.
Oluşturduğumuz kütüğü hesap tablosu yazılımı ile açalım.
Eğer makro güvenliğini orta seviyeye ayarladı iseniz, kütük ilk açıldığında makroları etkinleştirmek isteyip istemediğimizi soruyor.
Burada Makroları Etkinleştir
seçeneğini seçiniz.
Makroların çalışabilmesi için Araçlar -> Seçenekler -> Güvenlik -> Makro Güvenliği
yolunu takip ederek Düşük
ya da Orta
olarak seçmek gerekiyor.
Görünüm -> Araç Çubukları -> Form Denetimleri
yolunu takip ederek form denetimlerini açınız.
Gelen pencerede fare simgesinin dört sıra altında bulunan itme düğmesine tıklayınız.
Fare basılı iken bir alan seçiniz. Böylece düğmeyi hesap tablosuna ekledi.
Düğmeyi sağ tıklayıp denetim özelliklerini seçiyoruz.
Burada Genel
bölümünde Ad
bölümüne dugme1
girebiliriz. Etiket bölümüne ise Konum yaz
girelim.
Yazı tipi
bölümünden biraz daha büyük bir yazı tipi seçebiliriz.
Olaylar
bölümünden İşlemi Çalıştır
bölümündeki ...
bölümüne tıklayalım.
Buradan Eylemi Çalıştır
ve Makro
yolunu takip edelim.
Makro Seçici
bölümünde konum.ods
'nin üzerine gelip konum
ve konumYaz
seçelim.
Tamam
deyip bu pencereleri kapatalım.
Form Denetimleri
araç çubuğunda T cetveline benzeyen düğmeye tıklayalım.
Böylece düğmenin etrafındaki kavun içi kareler kaybolacak.
Düğmeye bastığımızda konum bilgisinin yazıldığını görebilirsiniz.
Bir tane de içeriği silmek için düğme ekleyiniz. Bu düğmeyi de içeriği sil işlevine bağlayınız.
Derste kullanılan hesap tablosunu buradan indirebilirsiniz.
Yorumlar