Python ile LibreOffice makrosu yazalım

PyUNO kütüphanesi ile makro yazalım

Giriş

LibreOffice için Python kullanarak betik yazılabiliyor.

Bu derste Python ile ofis yazılımı için ilk betiği nasıl yazabileceğimizi anlatmaya çalışıyoruz.

Kurulum

Ubuntu tabanlı dağıtımlarda aşağıdaki paketi kurmak gerekebilir.

sudo apt install libreoffice-script-provider-python

İlk ayarlar

ArcoLinux dağıtımında uno.py kütüğünü aradık.

locate uno.py

Aşağıdaki gibi çıktı verdi.

/usr/lib/libreoffice/program/uno.py
/usr/lib/python3.12/site-packages/uno.py

Sonra bu kütüğe çalıştırma izni verdik.

sudo chmod +x /usr/lib/libreoffice/program/uno.py

Bu kütüğün bulunduğu dizini aşağıdaki gösterildiği gibi ortam değişkeni olarak ekliyoruz.

Ortam değişkeni

Eğer fish kabuğu kullanıyorsanız ~/.config/fish/config.fish kütüğüne, eğer bash kullanıyorsanız ~/.bashrc kütüğüne aşağıdaki ortam değişkenini ekleyiniz.

export PYTHONPATH="$PYTHONPATH:/usr/lib/libreoffice/program/"

Ekledikten sonra bilgisayarı tekrar başlatınız.

Çalışıyor mu?

Python makrolarının çalışıp çalışmadığını sınamak için LibreOffice yazılımında Araçlar -> Makrolar -> Makroları Yönet -> Python yolunu izleyiniz.

Buradan Uygulama Makroları -> HelloWorld -> HelloWordPython'u seçerek çalıştır tuşuna basınız.

Eğer yeni bir yazı kütüğü açıldı ve içine bir şeyler yazıldı ise Python çalışıyor demektir.

Makroları nereye kaydedeceğiz?

Linux altında dizin

/home/KULLANICI/.config/libreoffice/4/user/Scripts/python

Windows için

%APPDATA%\LibreOffice\4\user\Scripts\python

macOS için

~/Library/Application Support/LibreOffice/4/user/Scripts/python/

şeklindedir.

Linux için KULLANICI yerine kendi kullanıcı isminiz gelecek.

Eğer Scripts/python dizini yoksa oluşturunuz.

Selam verme

Belirtilen dizinde selam.py ismi ile bir kütük oluşturup içine aşağıdaki bilgileri giriniz.

import uno

def selamVer():
    belge = XSCRIPTCONTEXT.getDocument()
    hücre = belge.Sheets[0]['A1']
    hücre.setString("Selâmun Aleyküm")
    return

Makroyu çalıştıralım

Makroyu çalıştırmak için Araçlar->Makrolar->Makro Çalıştır yolunu izleyiniz.

Makrolarım isimli kütüphaneden selam ve selamVeri seçip sonra da Çalıştır düğmesine basınız.

Makro çalıştığında A1 hücresine Selâmun Aleyküm yazması gerekiyor.

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.