LibreOffice'de makroları kullanma. LibreOffice'de VBA Makroları Yazma Libreoffice Makrolarını Kaydetme

Dikkat! Makro LibreOffice 4.4.3.2 ve Windows XP'de yazılmıştır.

LibreOffice Calc'ı başlatın. Araçlar -> Makrolar -> Makroları Yönet -> LibreOffice Basic menü öğesini seçin


Libre Office BASIC Makroları penceresinde, “Makro adı” alanına “Ana” yazın. “Makro kaynağı” alanında “Makrolarım” - “Standart” seçeneğini seçin ve “Oluştur” düğmesine tıklayın. Bkz. Şekil 1.

Şekil 1. LibreOffice Basic makroları penceresi


Yeni Modül penceresinde “Modül1” adını ayarlayın ve “Tamam” düğmesine tıklayın. Bkz. Şekil 2.

Şekil 2. Yeni modül oluşturma

Şekil 3. LibreOffice Temel Makro Düzenleyicisi

Modül1 modülünü Main ana prosedürüyle oluşturduk. Bir iletişim kutusu oluşturmak için, LibreOffice Basic makro düzenleyicisinde Araçlar -> Makrolar -> İletişim kutularını yönet... menü öğesini seçin.

"Diyaloglar" sekmesini seçin. “Diyalog” bölümünde, “Diyaloglarım” -> “Standart”ı seçin ve “Oluştur” düğmesine tıklayın. Bkz. Şekil 4.

Şekil 4. Makro iletişim kutusu oluşturma

Yeni İletişim penceresinde “Dialog1” adını ayarlayın ve “Tamam” düğmesine tıklayın. Bkz. Şekil 5. Ardından LibreOffice Temel Makro Yönetimi penceresinin "Kapat" düğmesi.

Şekil 5. Yeni bir iletişim kutusu oluşturma

Daha sonra LibreOffice Basic makro düzenleyici penceresinde “Dialog1” isimli yeni oluşturduğumuz diyaloga çift tıklayın, Şekil 6'daki 1 numaraya bakın. Bundan sonra görsel diyalog düzenleyici açılacaktır, Şekil 6'daki 2 numaraya bakın.

Şekil 6. LibreOffice Basic iletişim düzenleyicisi

Şimdi iletişim kutumuza etiket adı verilen görsel bir öğe ve görsel öğe düğmesi ekleyin. Görseller panelinden görseller sürüklenebilmektedir, Şekil 6'daki 3 numaraya bakınız.

Etiket görsel öğesini seçerseniz bu öğeye ilişkin bir dizi özellik açılacaktır. Bu özellikler aracılığıyla öğeyi özelleştirebilirsiniz. Etiket elemanına lblNow ismini atayalım ve metni boş bırakalım. Button öğesinin adı OKButton olacak ve metin OK olarak ayarlanacaktır. Şekil 7'deki 1,2,3 numaralarına bakınız.

Şekil 7. LibreOffice Basic iletişim düzenleyicisine görsel öğeler ekleme

Yukarıda yazdığım gibi Main ana prosedürlü Module1 modülü oluşturuldu (bkz. Şekil 8), ancak henüz doldurulmadı.

Şekil 8. Makro kaynak kodunu ekleme


Ana prosedür ana prosedürdür, içinde Dialog1 adlı bir iletişim kutusu yüklüyoruz, bunlar aşağıdaki kod satırlarıdır:

DialogLibraries.LoadLibrary("Standart")
Dlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)

Geçerli tarih ve saati içeren bir satır oluşturuyoruz, bunlar aşağıdaki kod satırlarıdır:

Dim strNow As String
strNow = Biçim(Şimdi(), "yyyy-aa-gg ")
strNow = strNow + Format(Time(), "ss:dd")

lblNow adlı görsel öğeye tarih ve saati içeren bir dize atıyoruz, bunlar aşağıdaki kod satırlarıdır:

Dim clblNow As Object
clblNow = Dlg.getControl("lblNow")
clblNow.Text = strNow

Main prosedüründeki son kod satırıyla Dialog1 adında bir diyalog kutusu çalıştırıyoruz:

Dlg.Execute()

Başka bir prosedür daha var, adı OKButton_execute, bu bir olay prosedürü, OKButton isimli butona basıldığında yürütülüyor ve Dialog1 isimli diyalog kutusunu kapatıyor, bu aşağıdaki kod satırı:

Dlg.endExecute()

Şimdi OKButton_execute adlı prosedürü OKButton adlı düğmeye "Fare Tuşu Bırakma" olayı olarak atayın. Bunun için Dialog1 iletişim kutusunun görsel düzenleyicisini açın, Şekil 9'daki 1 numaraya bakın. OKButton isimli butonu seçin ve "Olaylar" sekmesine gidin, Şekil 9'daki 2 numaraya bakın. "Fare tuşu serbest bırakıldı" olayında, Üç noktalı düğmeye tıklayarak OKButton_execute adlı bir prosedür belirtin, Şekil 9'daki 3 numaraya bakın.

Şekil 9. Tamam düğmesine bir etkinlik atama

Makroyu çalıştırmak için gereken her şeyi yaptık. Öncelikle makromuzun ne işe yaradığına bakalım. Şekil 10'un 2 numarası altında, geçerli tarih ve saatin görüntülendiği iletişim kutusunu görebilirsiniz. Tamam'ı tıklarsanız iletişim kutusu kapanacaktır.

1. LibreOffice Basic makro düzenleyicisinden bir makro çalıştırmak LibreOffice Basic makro düzenleyicisinde kodumuzu açın ve F5 tuşuna basarak veya makro yürütme butonuna tıklayarak çalıştırın, Şekil 10'daki 1 numaraya bakın.

2. "Makro Seç" iletişim kutusundan bir makro çalıştırmak, Şekil 11'deki 1 numaraya bakın. İletişim kutusunda makromuzu seçip "Çalıştır" butonuna tıklamamız gerekiyor, Şekil 11'deki 2 numaraya bakın.

Şekil 11. "Makro Seç" iletişim kutusundan makro çalıştırma

3. LibreOffice Calc veya LibreOffice Writer'da menü ve alt menüden bir makro çalıştırmak, Şekil 12'deki 0 numarasına bakın. Menüler ve alt menüler oluşturmak için "Araçlar" menü öğesini ve "Ayarlar" alt menüsünü seçin, bkz. Şekil 12. "Menü" sekmesindeki "Ayarlar" iletişim kutusunda "Oluştur..." düğmesini tıklayın, menümüzün adını girin (örneğin, "Makrolar"), Şekil 12'deki 3 numaraya bakın. "Makrolar" menümüzün bir alt menüsünü oluşturun, "Ekle..." butonuna tıklayın (bkz. Şekil 12, 4 numara).

Şekil 12. LibreOffice Calc veya LibreOffice Writer'da menülerden ve alt menülerden makro çalıştırma

Daha sonra “Komut Ekle” iletişim kutusunda alt menümüzü seçtiğinizde yürütülecek komutu seçin (Şekil 13'teki 1 ve 2 numaralarına bakın), yani. Main adlı makromuzu seçiyoruz.

Şekil 13. Alt menüye komut ekleme

"Menü" sekmesinin "Ayarlar" iletişim kutusunun "Değiştir" düğmesinin "Yeniden Adlandır..." menü öğesini seçerek alt menümüzü yeniden adlandırın (Şekil 14'teki 1,2,3,4 numaralarına bakın). Alt menüyü “Tarihli makro pencere” olarak adlandırın.

Şekil 14. Alt menüleri yeniden adlandırma

4. Bir klavye kısayoluna basarak LibreOffice Calc veya LibreOffice Writer'da bir makro çalıştırın. Bunu yapmak için "Ayarlar" iletişim kutusunu açın ve "Klavye" sekmesini seçin (Şekil 15'teki 1 numaraya bakın). Daha sonra “Ana” isimli makromuz olan komutu seçiyoruz (Şekil 15’te 2 numaraya bakınız). Daha sonra ücretsiz bir tuş kombinasyonu seçiyoruz ve bunu ekibimize atıyoruz. Ana adlı makro (bkz. Şekil 15'teki 3,4,5 sayıları).

Şekil 15. Makroyu çalıştırmak için klavye kısayolu atama

5. Araç çubuğundaki bir düğmeye tıklayarak LibreOffice Calc veya LibreOffice Writer'da bir makro çalıştırın (Şekil 16'daki 4 numaraya bakın). Araç çubuğunda bir düğme oluşturmak için, "Araçlar" menü öğesini ve "Özelleştir" alt menüsünü seçin, Şekil 16'daki 1 numaraya bakın. "Özelleştir" iletişim kutusunda, "Araç Çubukları" sekmesinde "Oluştur.. ." düğmesine tıklayın, araç çubuğumuzun adını girin (örneğin, "Makro Panel"), Şekil 16'daki 2 numaraya bakın. Araç çubuğunda bir düğme oluşturmak için "Ekle..." düğmesine tıklayın (Şekil 3'teki 3 numaraya bakın) 16).

Şekil 16. Araç çubuğundan makro çalıştırma

Daha sonra “Komut Ekle” iletişim kutusunda araç çubuğumuzdaki butonumuza tıkladığınızda yürütülecek komutu seçin (Şekil 13'teki 1 ve 2 numaralarına bakın), yani. Main adlı makromuzu seçiyoruz.

"Araç Çubukları" sekmesinin "Ayarlar" iletişim kutusunun "Değiştir" düğmesinin "Yeniden Adlandır..." menü öğesini seçerek araç çubuğu düğmemizi yeniden adlandırın (Şekil 17'deki 1,2,3,4 numaralarına bakın). Düğmeye "Tarih içeren makro pencere" adını verin.

Şekil 17. Araç çubuğu düğmesini yeniden adlandırma

LibreOffice'te artık makro yönetimi arayüzde tek yerden uygulanıyor.

Benim gördüğüm sorunlar şunlar:

Araçlar->Makrolar->Makroları Yönet menüsünden, makroları yönetmek için, mevcut her dil için ayrı ayrı DÖRT farklı iletişim kutusu mevcuttur. Temel, JavaScript, BeanShell ve Python. Ve hepsi farklı.

Ayrıca, Temel iletişim kutusu makroları yönetmenize izin vermez. Temel makroları gerçekten yönetmek için ayrı bir ek iletişim kutusu açmanız gerekir.

Tüm iletişim kutularındaki Düzenle düğmesi, kitaplığın/modülün/iletişim kutusunun adını/konumunu değil, makronun kendisini düzenlemenize olanak tanır.

Tüm bu rezaleti ortadan kaldırmayı ve makroları yönetmek ve makroları çalıştırmak için BİR diyalog kurmayı öneriyorum.

Bunun gibi bir şey (Bunu İngilizce yaptım, çünkü bugzillada bu şekilde HERKES neden bahsettiğimizi ve neden bahsettiğimizi anlayacaktır):

İletişim kutusunun sol tarafında kitaplıkları/modülleri/diyalogları yönetiyoruz ve ayrıca nasıl içe/dışa aktarılacağını da biliyoruz. Ve sağ tarafta doğrudan makrolarla çalışıyoruz: onları başlatıyoruz, olaylara makrolar atadık ve gerekirse onları düzenliyoruz.

LibreOffice'in kütüphanelerdeki makroların hangi programlama dilinde yazıldığını kendisi ayırt etmesi ve anladığım kadarıyla bir Python modülünün Basic kütüphanesinden başlatılmasına izin vermemesi nedeniyle programlama diline göre ayırmaya gerek yoktur. Bu, benim diyalog versiyonumda LibreOffice'i farklı dillerdeki kütüphaneleri/modülleri simgelerle vurgulamaya zorlamam gerektiği ve bunların hepsinin hiyerarşik olarak tek bir ağaçta olacağı anlamına geliyor.

Bir nokta daha var: LibreOffice'in mevcut sürümünde Python'da makrolarla çalışmak için harici APSO uzantısına ihtiyacınız var. O olmadan ilgili kütüphaneyi bile oluşturamazsınız. Bunun neden yapıldığını veya bu uzantının neden temel LibreOffice paketine dahil edilmediğini gerçekten anlamıyorum, çünkü temel işlevsellik çalışmıyor.

Bu nedenle, makro yönetimi iletişim kutusunu yeniden işlerken bu tuhaf gerçeğin de dikkate alınması gerekecektir.

Yaklaşık 10 yıldır Linux kullanıyorum. Yaklaşık 5 yıl önce OpenOffice paketini ve 3 yıl önce LibreOffice'i kullanmaya başladım. Şaşırtıcı ve hatta utanç verici bir şekilde Calc için yazılmış makrolarım yok. Ancak Excel için, basit formlardan ve formüllerden, bilgilerin hazırlanmasını otomatikleştiren işletmeler için güçlü eklentilere kadar bu süre zarfında yeterince birikti. Bugün, oldukça fazla zaman harcadığım paketi ve yeteneklerini yavaş yavaş incelemeye başlayacağıma dair kendime bir söz verdim.


Çoğu insan için makro anlaşılmaz bir şeydir ve belki de gereksiz bir icattır. Onlar için bu sadece işi optimize etmekle kalmıyor, aynı zamanda artırıyor. Bu görüş, makro kullanma ilkelerinin yanlış anlaşılmasından kaynaklanmaktadır. Makrolar, bazı eylemlerin birçok kez gerçekleştirilmesi gerektiğinde kullanılır. Çoğu zaman bu, aynı türde belge işlemedir (karmaşık biçimlendirme, seçimler), bazen doldurulacak formlar, formüller, grafikler için hesaplamalar... Buna ve tercihlerimize dayanarak, makrolarımızı saklamanın yolunu seçiyoruz:

  • küresel(veya eklenti) - programı açarken her zaman kullanılabilir;
  • kalıplaşmış— belirli bir şablonu açarken kullanılabilir;
  • yerel— yalnızca belirli bir belgede çalışırken kullanılabilir.

İkincisi daha az sıklıkla, özellikle de çok karmaşık etkileşimli belgelerde kullanılır.
Günümüzde yalnızca kadrosunda BT uzmanları olmayan küçük şirketler ofis paketlerini (LibreOffice veya MS Office fark etmez) kullanıyor çünkü bunlar "kutudan çıkmış". Çoğu durumda, ofis paketi yalnızca eklentilerin dağıtıldığı bir temeldir ve bir şirket çalışanı, istifa edene veya başka bir şirkete taşınana kadar kendisi için ne kadar küçük ama çok uygun şeylerin yapıldığından çoğu zaman şüphelenmez.


Excel'de makro yazmayı öğrenmeye “Makro Kaydet” aracıyla başlamanız önerilir. Aslında, eylem parçalarını kaydederken gelecekte kullanmanız gerekecek dilin ve API'nin yüzey düzeyini hayal etmek yeterince kolaydır. Ayrıca bazen basit bir makroyu hızlı bir şekilde oluşturmak için, bir nevi "yazarken onu atarsınız" ve ardından onu parlatarak kod düzenleyicide aklınıza getirirsiniz.

LibreOffice 4.1'de Makro Kaydet aracını bağlama

LibreOffice 4.1'de varsayılan işlev " Makro kaydet» devre dışı bırakıldı. Bu nedenle yapmanız gereken ilk şey onu etkinleştirmektir: HizmetSeçenekler (AletlerSeçenekler) LibreOffice grubunu genişletin ve en alttaki “ Genişletilmiş yetenekler» (« Gelişmiş")" yanına bir onay işareti koyun Makro kaydını etkinleştir (sınırlı)» (« Makro kaydını etkinleştir (sınırlı)»).

Bundan sonra menünüzde: Araçlar → Makrolar (Araçlar → Makrolar) menü öğesi “ Makro Kaydet» (« Makro Kaydet»).

LibreOffice 4.1'de Makro Kaydet aracını kullanma

Aracı göstermek için " Makroları Kaydetme"Basit bir örnek verelim:
1. Yeni bir Calc belgesi açın ve bunu size uygun bir adla diske kaydedin;
2. Hücreyi seçin A1;
3. Makro kaydını etkinleştirin Araçlar → Makrolar → “Makro Kaydet” (Araçlar → Makrolar → “Makro Kaydet”). Tek tuşla bir panel açılacak” Kaydı Bitir» (« Kaydetmeyi bırak»);
5. Hücreyi seçin B1 ve " Kaydı Bitir» (« Kaydetmeyi bırak»);
6. Aşağıdaki pencere açılacaktır:

Yalnızca bu belgede erişime sahip bir makro yapıyoruz, bu nedenle belgenin adını içeren öğeyi açacağız (article.ods'um var, sizin için bu, belgeyi kaydettiğiniz ad olacaktır) ve tek kütüphane mevcut Standart. Henüz herhangi bir modülü yok, o yüzden bir tane oluşturalım.
7. “ düğmesine basın Modül oluştur» (« Yeni Modül") ve açılan pencereye modülün adını girin.

Varsayılan olarak, adı verilen boş bir makroyla bir modül oluşturulur. Ana. “alanına girin Makro adı» (« Makro adı") girdiğim istenen adı " Ana") ve" öğesine tıklayın Yaz» (« Kaydetmek") kaydettiğimiz makroyu kaydetmek için. Benim durumumda böyle bir makro adının zaten mevcut olduğuna dair bir uyarı görünecektir.

Makro kaydedilir ve şimdi belgeyi kaydedersek makro da onunla birlikte kaydedilir. Bu, bu belgeyi her açtığımızda bu makroyu kullanabileceğimiz anlamına gelir.

LibreOffice 4.1 makrosunu çalıştırma ve düzenleme

LibreOffice 4.1'de makro çalıştırmanın iki yolu vardır.
İlk önce pencereyi aç Makroyu çalıştır»: Araçlar → Makrolar → “Makroyu çalıştır”(Araçlar → Makrolar → “Makroyu Çalıştır...”), istediğiniz makroyu seçin ve " tuşuna basın Öğle yemeği».


Arayüz

ancak temel olarak Microsoft Office Excel 2010'dan farklıdır.

MS Excel 2010, Microsoft'un MS Office 2007'de tanıttığı, pek çoğunun beğenmediği devrim niteliğinde bir çözüm olan "menü şeridi" içerir ve hatta MS Office 2010'un görünümünü MS Office 2003'e döndüren özel yardımcı programlar bile geliştirilmiştir.

Yukarıdaki elektronik tablo düzenleyicilerinin en önemli menü öğelerine daha yakından bakalım.

Elektronik tablo düzenleyicilerinde (MS Excel, OOo Calc, LiO Calc, IBM Lotus Symphony Spreadsheets vb.) en önemli öğe “hücre”dir ve elektronik tablo düzenleyicilerinde yapılan tüm işlemler hücrelere veya gruplarına (satırlar, sütunlar) özel olarak uygulanır. , vesaire.). Bu nedenle öncelikle hücre biçimlendirmeyle ilgili menü öğelerine bakalım.

LiO Office'te, MS Office 2003'te olduğu gibi, hücrelerin biçimlendirilmesi, "Biçim / Hücreler" menü öğesi aracılığıyla veya "Ctrl + 1" klavye kısayolu kullanılarak gerçekleştirilir.

MS Excel 2010'da hücre biçimlendirmesi "Giriş" sekmesinde yapılır.

LiO Calc'taki diğer MS Excel 2010 menü öğeleri (Ekle, Sayfa Düzeni, Formüller, Veri, İnceleme vb.), benzer adlara sahip menü öğelerinde bulunur.

Elektronik tabloların bir sonraki en önemli unsuru “İşlevler” veya “Formüller” olarak da bilinir.

MS Excel ve LiO Calc'ta, tüm formüllerin adları (kısaltmalar) benzerdir, bu nedenle MS Excel'de çalışan uzmanlar için MS Excel'den LiO Calc'a geçiş zor olmayacaktır.İşlevlerin oldukça ayrıntılı bir listesi ve MS Excel'deki yazışmaları ve Rusya Federasyonu'nda OpenOffice.org tabanlı çözümlerin önde gelen entegratörü olan "Infra-Resource" şirketinin web sitesinde yayınlanan OOo Calc (LiO Calc). Ancak burada da tuzaklar var... Bunlar kısayol tuşları. Kısayol tuşlarını kullanarak MS Excel'de çalışmaya alışkın olanlar için bazı sorunlar olabilir, ancak hem sıradan kullanıcılar hem de kuruluşlar için, MS Excel'in bir kopyasından en az 55 $ tasarruf edebileceğiniz gerçeği, oldukça ciddi bir teşvik olarak yardımcı olabilir. LiO'ya geçin.


Uyumluluk

MS Excel'den LiO Calc'a geçişte en büyük sıkıntı noktalarından biri uyumluluk sorunlarıdır ve en büyük sorun makrolarla çalışmaktır. Bu sorun özellikle OpenOffice.org 1 ve 2 sürümleri için ciddiydi; OpenOffice.org ve LibreOffice'deki sürüm 3'ten itibaren bu sorun pratik olarak çözüldü. LibreOffice Calc 3.5 çoğu MS Excel makrosunu çalıştırabilir. Bu işlev menüden açılır/kapatılır: Araçlar > Seçenekler > Yükle/Kaydet > VBA Özellikleri

LiO Calc'taki VBA'nın bir analogu, Microsoft Visual Basic ile aynı programlama mantığını kullanan StarBasic makro dilidir (sürüm LibreOffice Basic'tir), bu nedenle MS Excel'de makrolarla çalışan uzmanların alışması zor olmayacaktır. LiO Calc'a.

LiO Calc'taki VBA'nın analogu StarBasic makro dilidir.

Ancak sorunlar hâlâ devam ediyordu. Gerçek şu ki, makroların yazıldığı ortam bir makro dili değil, bir ofis yazılımıdır. Dolayısıyla programlama dili bağımsız bir ortam değildir, tamamen ofis paketinin dahili nesne yapısına ve içinde uygulanan komut çağırma sistemine bağlıdır. Sonuç, farklı ofis paketlerinin makro dillerinin tam uyumluluğunu sağlamanın teknik olarak imkansızlığıdır. Bu nedenle Microsoft Office makrolarını OpenOffice.org veya LibreOffice'de çalıştırmadan önce yeniden yazmanız gerekir. Ayrıca tüm teknik detaylara girmemek adına LibreOffice'de VBA makrolarıyla çalışmayı büyük ölçüde kolaylaştıran dönüştürücü programların bulunduğunu söyleyeceğim. OpenOffice ortamında VBA makrolarıyla çalışmaya ilişkin tüm olası sorular, Infra-Resource şirketinin web sitesinde (yukarıya bakın) “Bilgi Tabanı” ve “OpenOffice.org Kullanıcı Desteği” bölümlerinde de ayrıntılı olarak tartışılmaktadır.

Yukarıdakilerin tümünü güçlendirmek için, MS Excel ve LiO Calc belgelerinin uyumluluğunu pratikte kontrol edelim. Bunu yapmak için, MS Excel 97-2003 (XLS uzantılı) ve MS Excel 2010 (XLSX uzantılı) kullanılarak hazırlanan ve "Baş Muhasebeci" dergisinin web sitesinden muhasebe belgeleri için hazır şablonlar alalım. çok sayıda matematiksel ve ekonomik fonksiyon. Dosyalarla çalışmanın bir sonucu olarak (açma, düzenleme, kaydetme, ODS'ye dönüştürme), aşağıdaki model fark edildi: kural olarak, MS Excel 98-2003'te (.xls) kaydedilen dosyaların sürümlerinde makroları etkinleştirirken hatalar oluştu. biçim. MS Excel 2007-2010'da oluşturulan sürümlerde hatalar çok daha az sıklıkta ortaya çıkıyor.

MS Excel'de makro kullanmadan oluşturulan dosyalar açılabilir, okunabilir, düzenlenebilir vb. hiç sorun yaşamadan. XLSX'ten ODS'ye ve tam tersi dönüşüm de hatasız olarak gerçekleştirilir ve metin biçimlendirme parametreleri korunur.

MS Excel'de makro kullanmadan oluşturulan dosyalar açılabilir, okunabilir, düzenlenebilir vb. hiç sorun yaşamadan.


sonuçlar

Böylece aşağıdaki sonuçları çıkarabiliriz.

LibreOffice Calc arayüzüne gelince, daha önce MS Excel 98-2003'te çalışmış olan kullanıcıların Calc'a geçişte sorun yaşamaması gerekir ve MS Excel 2007 - 2010'un "şerit" arayüzüyle çalışmaya alışkın olanların buna alışması gerekecektir. bu biraz başka türde bir çalışma penceresi.

LiO Calc'taki veriler MS Excel'dekiyle aynı şekilde girilir, düzenlenir ve sıralanır. Hesaplamalar LiO Calc'ta MS Excel'dekiyle aynı işlevler kullanılarak gerçekleştirilir.

Makrolarla çalışmanın zorluklarına gelince, LiO Calc ve OOo Calc'ın 3.0'ın üzerindeki sürümlerinde bu sorunun pratik olarak çözüldüğünü ve herhangi bir hata oluşması durumunda VBA makrolarını LibreOffice Basic'e dönüştürmenin mümkün olduğunu belirtmek gerekir.

Sergey RYZHKOV

Yaklaşık 10 yıldır Linux kullanıyorum. Yaklaşık 5 yıl önce OpenOffice paketini ve 3 yıl önce LibreOffice'i kullanmaya başladım. Şaşırtıcı ve hatta utanç verici bir şekilde Calc için yazılmış makrolarım yok. Ancak Excel için, basit formlardan ve formüllerden, bilgilerin hazırlanmasını otomatikleştiren işletmeler için güçlü eklentilere kadar bu süre zarfında yeterince birikti. Bugün, oldukça fazla zaman harcadığım paketi ve yeteneklerini yavaş yavaş incelemeye başlayacağıma dair kendime bir söz verdim.


Çoğu insan için makro anlaşılmaz bir şeydir ve belki de gereksiz bir icattır. Onlar için bu sadece işi optimize etmekle kalmıyor, aynı zamanda artırıyor. Bu görüş, makro kullanma ilkelerinin yanlış anlaşılmasından kaynaklanmaktadır. Makrolar, bazı eylemlerin birçok kez gerçekleştirilmesi gerektiğinde kullanılır. Çoğu zaman bu, aynı türde belge işlemedir (karmaşık biçimlendirme, seçimler), bazen doldurulacak formlar, formüller, grafikler için hesaplamalar... Buna ve tercihlerimize dayanarak, makrolarımızı saklamanın yolunu seçiyoruz:

  • küresel(veya eklenti) - programı açarken her zaman kullanılabilir;
  • kalıplaşmış— belirli bir şablonu açarken kullanılabilir;
  • yerel— yalnızca belirli bir belgede çalışırken kullanılabilir.

İkincisi daha az sıklıkla, özellikle de çok karmaşık etkileşimli belgelerde kullanılır.
Günümüzde yalnızca kadrosunda BT uzmanları olmayan küçük şirketler ofis paketlerini (LibreOffice veya MS Office fark etmez) kullanıyor çünkü bunlar "kutudan çıkmış". Çoğu durumda, ofis paketi yalnızca eklentilerin dağıtıldığı bir temeldir ve bir şirket çalışanı, istifa edene veya başka bir şirkete taşınana kadar kendisi için ne kadar küçük ama çok uygun şeylerin yapıldığından çoğu zaman şüphelenmez.


Excel'de makro yazmayı öğrenmeye “Makro Kaydet” aracıyla başlamanız önerilir. Aslında, eylem parçalarını kaydederken gelecekte kullanmanız gerekecek dilin ve API'nin yüzey düzeyini hayal etmek yeterince kolaydır. Ayrıca bazen basit bir makroyu hızlı bir şekilde oluşturmak için, bir nevi "yazarken onu atarsınız" ve ardından onu parlatarak kod düzenleyicide aklınıza getirirsiniz.

LibreOffice 4.1'de Makro Kaydet aracını bağlama

LibreOffice 4.1'de varsayılan işlev " Makro kaydet» devre dışı bırakıldı. Bu nedenle yapmanız gereken ilk şey onu etkinleştirmektir: HizmetSeçenekler (AletlerSeçenekler) LibreOffice grubunu genişletin ve en alttaki “ Genişletilmiş yetenekler» (« Gelişmiş")" yanına bir onay işareti koyun Makro kaydını etkinleştir (sınırlı)» (« Makro kaydını etkinleştir (sınırlı)»).

Bundan sonra menünüzde: Araçlar → Makrolar (Araçlar → Makrolar) menü öğesi “ Makro Kaydet» (« Makro Kaydet»).

LibreOffice 4.1'de Makro Kaydet aracını kullanma

Aracı göstermek için " Makroları Kaydetme"Basit bir örnek verelim:
1. Yeni bir Calc belgesi açın ve bunu size uygun bir adla diske kaydedin;
2. Hücreyi seçin A1;
3. Makro kaydını etkinleştirin Araçlar → Makrolar → “Makro Kaydet” (Araçlar → Makrolar → “Makro Kaydet”). Tek tuşla bir panel açılacak” Kaydı Bitir» (« Kaydetmeyi bırak»);
5. Hücreyi seçin B1 ve " Kaydı Bitir» (« Kaydetmeyi bırak»);
6. Aşağıdaki pencere açılacaktır:

Yalnızca bu belgede erişime sahip bir makro yapıyoruz, bu nedenle belgenin adını içeren öğeyi açacağız (article.ods'um var, sizin için bu, belgeyi kaydettiğiniz ad olacaktır) ve tek kütüphane mevcut Standart. Henüz herhangi bir modülü yok, o yüzden bir tane oluşturalım.
7. “ düğmesine basın Modül oluştur» (« Yeni Modül") ve açılan pencereye modülün adını girin.

Varsayılan olarak, adı verilen boş bir makroyla bir modül oluşturulur. Ana. “alanına girin Makro adı» (« Makro adı") girdiğim istenen adı " Ana") ve" öğesine tıklayın Yaz» (« Kaydetmek") kaydettiğimiz makroyu kaydetmek için. Benim durumumda böyle bir makro adının zaten mevcut olduğuna dair bir uyarı görünecektir.

Makro kaydedilir ve şimdi belgeyi kaydedersek makro da onunla birlikte kaydedilir. Bu, bu belgeyi her açtığımızda bu makroyu kullanabileceğimiz anlamına gelir.

LibreOffice 4.1 makrosunu çalıştırma ve düzenleme

LibreOffice 4.1'de makro çalıştırmanın iki yolu vardır.
İlk önce pencereyi aç Makroyu çalıştır»: Araçlar → Makrolar → “Makroyu çalıştır”(Araçlar → Makrolar → “Makroyu Çalıştır...”), istediğiniz makroyu seçin ve " tuşuna basın Öğle yemeği».

Fok
Konunun devamı:
Elma

Operatörler / 24.10.2017 MTS telefon yazılımı (Smart Race, Sprint, Surf, Run 4G) MTS, diğer tüm operatörler gibi, müşterilerine çeşitli akıllı telefon modelleri sunmaktadır.