2 sayfadan 1. sayfa

libreoffice basic, makro hücrede nasıl kullanılır

İletiTarih: 06 Şub 2018, 00:02
Aslofke
bir değişkeni ya da libreoffice ile pc adını alarak hücrede kullanma gayesindeyim ancak buna ilişkin bir bilgiye rastlayamadım bilen anlatabilir mi lütfen teşekkürler

Re: libreoffice basic, makro hücrede nasıl kullanılır

İletiTarih: 06 Şub 2018, 09:50
Hamurcu
Merhaba,

Komut satırında SET komutu ile alabileceğiniz bilgileri LibreOffice Basic'de ENVIRON komutu ile alabilirsiniz.

Bunun için aşağıdaki fonksiyonu tanımlarsanız işinizi görecektir.

Kod: Tümünü seç
Function BILGIAL(Soru As String) As String
  Dim Cevap As String
  Cevap = Environ(UCase(Soru))
  BILGIAL = Cevap
End Function


SET komutunda alınabilecek bilgilerin bazıları aşağıdaki gibidir;
COMPUTERNAME
HOMEDRIVE
LOGONSERVER
NUMBER_OF_PROCESSORS
OS
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
SYSTEMDRIVE
SYSTEMROOT
TEMP
TMP
SESSIONNAME
USERDNSDOMAIN
USERDOMAIN
USERDOMAIN_ROAMINGPROFILE
USERNAME
USERPROFILE
WINDIR
PUBLIC
PROMPT
PATHTEXT
PATH
HOMEPATH

Örnek tablomuz aşağıdaki gibi olsun;

Environ2.png
environ2
Environ2.png (23.66 KiB) 535 defa görüntülendi


BILGIAL fonksiyonunu tanımladığımızda sonuç şöyle olacaktır;

Environ.png
environ1
Environ.png (26.55 KiB) 535 defa görüntülendi


İyi çalışmalar.

Re: libreoffice basic, makro hücrede nasıl kullanılır

İletiTarih: 06 Şub 2018, 23:13
Aslofke
hocam eline sağlık pek çok yerde ulaşamadım bu bilgilere yalnız aşağıda yazdığım şekilde hata veriyor daha önce makro kullanmamıştım açıkçası ve yazım kurallarına ilişkin forumlarda pek birşeye rastlayamadım bunu nasıl çözebilirim
"BASIC çalışma zamanı hatası.
Hatalı özellik değeri."

Re: libreoffice basic, makro hücrede nasıl kullanılır

İletiTarih: 07 Şub 2018, 09:42
Hamurcu
Merhaba,

Öncelikle araştırmalarını yaparken mutlaka LibreOffice Wiki sayfalarını kontrol etmeni öneririm.

http://wiki.libreoffice.org.tr/index.php/Ana_sayfa

veya

http://eskiwiki.libreoffice.org.tr/index.php/Ana_Sayfa

Makro konusunda aşağıda bağlantısını verdiğim doküman faydalı olacaktır.

https://help.libreoffice.org/Basic/Basic_Help/tr

veya

http://eskiwiki.libreoffice.org.tr/index.php/OpenOffice.org_Basic_Programlama

Senin problemine gelince büyük ihtimalle Türkçe harflerden (ıİçÇşŞöÖğĞüÜ) kaynaklı bir problem gibi duruyor.

Örneğin;

BILGIAL yerine BilgiAl olmaz çünkü küçük i ile büyük I aynı harf değildir.

Re: libreoffice basic, makro hücrede nasıl kullanılır

İletiTarih: 10 Şub 2018, 17:44
Aslofke
teşekkür ederim aslında biraz daha uğraşınca problemin makroyu şifrelemek istemem ve şifrelemek için kütüphane oluşturmam olduğunu anladım, yalnız nedense kütüphane içine modül ekleyince bunu çalıştırmıyor kütüphane içindeki modülü çağırmak için farklı bir yöntem olduğuna ilişkin birşey bulamadım

Re: libreoffice basic, makro hücrede nasıl kullanılır

İletiTarih: 10 Şub 2018, 22:30
Hamurcu
Merhaba,

Aşağıdaki adımları izleyerek makrolarınızı içerisine yerleştirdiğiniz kütüphanenizi şifre ile koruma altına alabilirsiniz.

    1. LibreOffice Calc içerisinde Dosya-->Yeni-->Hesap Tablosu açın
    2. Araçlar-->Makrolar-->Makroları Yönet-->LibreOffice Basic seçin
    3. Ekrana gelen diyalog kutusundan Düzenleyici butonuna basın
    4. Açılan diyalog kutusundan Kitaplıklar sekmesine geçin
    5. Konum kısmından yeni oluşturduğunuz belgeyi seçin (Örneğin Adsız1.ods)
    6. Yeni butonuna basarak belgeniz içerisinde yeni bir kitaplık (Library) oluşturun
    7. Kütühanenize bir isim verin ve Tamam butonuna basın
    8. Parola butonuna basarak kütüphanenize bir şifre verin.
    9. Hesap Tablonuzu kaydedin ve kapatın.
    10. Hesap Tablonuzu yeniden açın.
    11. Araçlar-->Makrolar-->Makroları Yönet-->LibreOffice Basic seçin
    12. Hesap Tablonuzun adının altında oluşturduğunuz Kitaplığı seçin ve şifrenizi girin
    13. Kitaplık altında açılan Modül'ü seçin ve Düzenle Butonuna basın
    14. Ekrana LibreOffice Basic Editörü gelecektir. Artık tüm makrolarınızı buraya yazabilirsiniz.
    15. Dokümanı kaydetmeyi unutmayın.

Re: libreoffice basic, makro hücrede nasıl kullanılır

İletiTarih: 10 Şub 2018, 23:16
Aslofke
hocam çok teşekkür ederim tek tek anlatmışsınız ben de bu adımları uygulamıştım ve siz yazınca adım adım yine uyguladım ancak makronun çalışması için her seferinde (başlangıçta çalıştır şeklinde ayar yapmama rağmen) makroyu çalıştır demem ve hücreye en baştan fonksiyon adını yazmam gerekiyor. (sizin yazdığınız fonksiyonun birebir yazdım sadece adını pc yaptım) ayrıca aşağıdaki şekilde hata veriyor, ben anlam veremedim kütüphane içine almadan modülde yazınca bu bahsettiğim hatalar meydana gelmiyor kütüphane olmayıncada şifrelemek mümkün olmuyor, ancak kütüphane içinde modül oluşturup yazınca bu şekilde hatalar oluyor. O nedenlede kütüphane içinde farklı bir kullanım yada söz dizimi şekli mi vardır diye düşündüm.

"Basic, kutuphane.Module1.pc betiği çalıştırılırken, betik dili çatı hatası oluştu.

Mesaj: wrong number of parameters!"

Re: libreoffice basic, makro hücrede nasıl kullanılır

İletiTarih: 11 Şub 2018, 02:30
Hamurcu
Bu durum sanırım bir BUG ve rapor edilmiş durumda.

En kısa sürede gelecek güncelleme ile düzelecektir.

Hata raporlarını incelediğimizde 6.1 sürümü ile düzeltilmiş olarak geleceği görülüyor.

Re: libreoffice basic, makro hücrede nasıl kullanılır

İletiTarih: 11 Şub 2018, 18:07
Aslofke
Peki ilgi ve alakanız için çok teşekkür ederim. Benim amacım belli birkaç pc de koşulları çalıştırmak şimdi bu aşamada bu işi makro olmaksızın gerçekleştirmek mümkün mü dür?

[ Post made via Android ] Resim

Re: libreoffice basic, makro hücrede nasıl kullanılır

İletiTarih: 28 Şub 2018, 15:21
Hamurcu
Merhaba,

LibreOffice 6.0.1.1 sürümü yayınlandı.

Yukarıda anlatılan hata giderilmiş ve çalışıyor.

Makrolarınızı şifre ile koruduğunuzda bir başkası şifreyi girmeden edit edemiyor ve göremiyor.

Not: Şifreledikten sonra dosyanızı kaydedip kapatarak sonra yeniden açın.