Linux’ta LibreOffice Calc’de Makro Nasıl Oluşturulur ve Çalıştırılır

Linux’ta LibreOffice Calc’de Makro Nasıl Oluşturulur ve Çalıştırılır

LibreOffice, FOSS dünyasının ana akım ve tescilli Microsoft Office Suite’e yanıtıdır. Önde gelen Office Üretkenlik yazılım geliştiricileri ve katkıda bulunanlar tarafından geliştirilmiş olup, birden çok İşletim Sisteminde Microsoft Office için eksiksiz bir yedek sunar.

Microsoft Excel’in LibreOffice uygulaması eşdeğerine LibreOffice Calc denir. Bir dizi özellik ve Excel’e benzer bir arayüz ile birlikte gelir. Otomasyon için Makrolar geliştirmek ve çalıştırmak için yerleşik bir Makro motoruna sahiptir. Ancak, Visual Basic’i desteklemez, ancak kendi dilini destekler; Makroları programlamak için LibreOffice Basic.

LibreOffice paketi, Ubuntu, Debian, Fedora ve CentOS dahil olmak üzere çoğu Linux dağıtımında önceden yüklenmiş olarak gelir.

İlk olarak, bazı örnek verilerle bir çalışma sayfası oluşturalım.

Makro düzenleyiciyi açmak için şuraya gidin: Araçlar Loc Makroları Loc Makroları Düzenle Loc LibreOffice Temelleri. o açacak LibreOffice Temel Makroları Aşağıdaki ekran görüntüsünde gösterildiği gibi pencere.

Makro için yeni bir ad girin, ardından pencerenin sağ alt tarafındaki Yeni düğmesine tıklayın.

Şimdi LibreOffice Basic’te Makro düzenleyici ekranını görmelisiniz.

Gördüğümüz gibi, manuel olarak oluşturulan Makrolar varsayılan olarak “Makrolarım ve İletişim Kutularım -> Standart -> Modül1” altında oluşturulur.

Şu anda mevcut iki makro vardır: Biri Main, varsayılan boş bir makrodur ve diğeri test, yukarıda oluşturduğumuz makro. Şimdi test makrosunu geliştireceğiz.

Makromuz aşağıdaki görevleri yapacaktır:

Makromuz aşağıdadır:

Yukarıdaki makroyu size bölüm bölüm anlatayım.

test makromuzun adıdır, dolayısıyla kodda şu şekilde gösterilir: Sub test (alt = alt program). Benzer şekilde bu makro kodunu deyimle sonlandırıyoruz End Sub. Menüden bir makro oluşturduğumuzda bu ifadelerin otomatik olarak eklendiğini unutmayın, ancak kullanıcı doğrudan makro kodunu buraya yazabilir ve Altyordam adı makro adı olarak kabul edilecektir.

LibreOffice Basic’teki tüm yorumlar anahtar kelime ile başlar rem. Rem ile başlayan tam bir satır yorum olarak kabul edilir. Başka bir yol kullanmaktır ' (tek ters virgül) satırın başında.

Bu, LibreOffice Basic’teki değişken bildirimidir. Genel sözdizimi dim <var_name> as <var_data_type>. Bir diziyi bildirmek için, 8 dizinin uzunluğu olmak üzere crs değişkenine benzer bir sözdizimi kullanın.

ThisComponent mevcut belgeye atıfta bulunur. Bu durumda bu bir Kireç Çalışma Sayfasıdır. Sayfayı 0 indeksli, yani ilk sayfayı sh değişkeninde yüklüyoruz. Adı kullanarak bir Sayfa yüklemek için işlevler de vardır.

Sonra fonksiyonu çağırırız getCellRangeByPosition nesne sh ve onu crs dizisine yükleyin. Hücre Aralığı, sayfadaki konuma göre bir hücre grubunu ifade eder.

Argümanların, 0, 0 (sütun 0, satır 0) aralığın başlangıç ​​hücresini gösterir ve 3, 0 (sütun 3, satır 0), aralığın bitiş hücresini gösterir. Böylece 0, 0, 3, 0 örnek sayfamızın ilk (başlık) satırını ifade eder.

biz bir for satırlar arasında dolaşmak için ifade. NS for blok bir ile biter next her yinelemenin sonunda i değişkenini artıran ifade.

Sonra bir fonksiyon çağırıyoruz GetCellByPosition nesne sh. Parametreleri geçiyoruz (3, i), yani, her yinelemede, sütun 3 ve satır i’deki hücrenin nesnesi prof değişkeninde alınır.

Sonra bir kullanırız If prof hücresindeki değerin “Yazar” olup olmadığını kontrol etmek için ifade. Eğer öyleyse, fonksiyonu tekrar çağırırız. getCellRangeByPositionile, bu sefer i başlangıç ​​ve bitiş satır numarası yerine. Yine dizide saklıyoruz crs.

İlk önce adında yeni bir sayfa oluşturuyoruz Writers, pozisyonda 1, dizin 0’dan başladığı için 2. konumdur. Daha sonra bu yeni oluşturulan sayfanın bir nesnesini alırız, böylece yazarların verilerini bu sayfaya girebiliriz.

NS Do While döngü ifadesi, kullanım için bir dizi tamsayı değerinde döngü yapmak yerine, koşullara dayalı olarak döngü yapmak istediğimizde kullanılır. for daha önce gösterildiği gibi. Buraya kadar döngü yapıyoruz crs(i) boş değil.

Sonra tekrar ararız getCellRangeByPosition yeni sayfada bir aralık nesnesi almak için öncekine benzer şekilde.

Son olarak, iki işlevi çağırıyoruz: getDataArray hangi verileri döndürür crs(i), yani ilk sayfadan bir satır veri (bir yazar hakkında); ve bu verileri kullanarak yeni sayfadaki hücre aralığına yazıyoruz. setDataArray.

Son olarak, makroyu şuradan kaydedin: Dosya 禄 Tümünü kaydet seçenek.

Makroyu çalıştırmak için şuraya gidin: Araçlar Lu Makrolar Lu Makro Çalıştır ve Makro Seçici Kitaplığındaki “Makrolarım” dizininden Makronuzu seçin. Tıkla Çalıştırmak Bir Makro Adı seçtikten sonra düğmesine basın.

Yukarıdaki makroyu örnek elektronik tablomuzda çalıştırmak aşağıdaki sonucu verir.

LibreOffice’de makro oluşturmanın yolu budur. Daha fazla bilgi ve seçenek için resmi belgelere bakın.

Leave a Reply

Your email address will not be published. Required fields are marked *

*