ЛибреОффице је светски одговор ФОСС-а на главни и власнички Мицрософт Оффице пакет. Развијен од стране водећих програмера Оффице Продуцтивити софтвера и сарадника, нуди потпуну замену за Мицрософт Оффице на више оперативних система.
ЛибреОффице апликација еквивалентна Мицрософт Екцел-у се зове ЛибреОффице Цалц. Долази са бројним функцијама и интерфејсом сличним Екцел-у. Има уграђени Мацро мотор за развој и покретање макроа за аутоматизацију. Међутим, не подржава Висуал Басиц, али подржава сопствени језик; ЛибреОффице Басиц, за програмирање макроа.
ЛибреОффице пакет долази унапред инсталиран у већини Линук дистрибуција, укључујући Убунту, Дебиан, Федора и ЦентОС.
Креирање и покретање макроа у ЛибреОффице Цалц
Прво, направимо радни лист са неким примерима података.
Да бисте отворили организатор макроа, идите на Алатке » Макрои » Организуј макрое » Основе ЛибреОффице-а. То ће отворити ЛибреОффице Басиц Мацрос прозор као што је приказано на слици испод.
Унесите ново име за макро, а затим кликните на дугме Ново у доњем десном углу прозора.
Сада би требало да видите екран за уређивање макроа у ЛибреОффице Басиц-у.
Као што видимо, ручно креирани макрои се подразумевано креирају под „Моји макрои и дијалози -> Стандардни -> Модул1”.
Тренутно постоје два макроа: један је Главни
, што је подразумевани празан макро, а други јесте тест
, макро који смо креирали изнад. Сада ћемо побољшати тест макро.
Наш макро ће обавити следеће задатке:
- Проверите који све људи имају професију писац
- Направите нови лист
- Премести све уносе за писце у нови лист
Следи наш макро:
Субтест рем Премести уносе са професијом Вритер на нови лист дим црс(8) као објекат дим ј као Интегер дим проф као објекат дим и као Интегер дим сх као објекат дим сх2 као објекат сх = ТхисЦомпонент.Схеетс(0) црс(0) = сх.гетЦеллРангеБиПоситион(0, 0, 3, 0) ј = 1 за и = 1 до 5 к = 1 проф = сх.ГетЦеллБиПоситион(3, и) рем Сачувајте цео ред у променљивој Ако проф.стринг = "Вритер" Тада црс(ј) = сх.гетЦеллРангеБиПоситион(0, и, 3, и) ј = ј + 1 Енд Иф нект и рем Сада креирајте нови лист и упишите ове податке тамо ТхисЦомпонент.Схеетс.инсертНевБиНаме("Вритерс", 1) сх2 = ТхисЦомпонент.Схеетс(1) и = 0 Уради Док није ИсНулл(црс(и)) сх2ранге = сх2.гетЦеллРангеБиПоситион(0, и, 3, и) сх2ранге.сетДатаАрраи(црс(и).гетДатаАрраи) и = и + 1 Лооп Енд Суб
Дозволите ми да вам објасним горњи макро део по део.
Суб тест . . . Енд Суб
тест
је назив нашег макроа, па је у коду означен као Суб тест
(под = потпрограм). Слично завршавамо овај макро код наредбом Енд Суб
. Имајте на уму да се ове изјаве аутоматски додају када креирамо макро из менија, иако корисник може директно да упише код макроа овде и име подрутине ће се сматрати именом макроа.
рем
Сви коментари у ЛибреОффице Басиц-у почињу кључном речи рем
. Коментаром се сматра цео ред који почиње са рем. Други начин је употреба '
(један обрнути зарез) на почетку реда.
дим црс(8) као објекат дим ј као цео број дим проф као објекат дим и као цео број дим сх као објекат дим сх2 као објекат
Ово је декларација променљиве у ЛибреОффице Басиц-у. Општа синтакса је дим као
. Да бисте декларисали низ, користите синтаксу сличну променљивој црс, где је 8 дужина низа.
сх = ТхисЦомпонент.Схеетс(0) црс(0) = сх.гетЦеллРангеБиПоситион(0, 0, 3, 0) ј = 1
ТхисЦомпонент
односи се на актуелни документ. У овом случају то је Цалц Ворксхеет. Учитавамо Схеет са индексом 0, тј. први лист, у променљивој сх. Постоје и функције за учитавање листа помоћу имена.
Затим позивамо функцију гетЦеллРангеБиПоситион
објекта сх и учитајте га у низ црс. Опсег ћелија се односи на групу ћелија на листу на основу положаја.
Имајте на уму да аргументи, 0, 0
(колона 0, ред 0) означавају почетну ћелију опсега, и 3, 0
(колона 3, ред 0) означавају крајњу ћелију опсега. Тако 0, 0, 3, 0
односи се на први (насловни) ред нашег узорка.
за и = 1 до 5 к = 1 проф = сх.ГетЦеллБиПоситион(3, и) рем Чувати цео ред у променљивој Ако проф.стринг = "Вритер" Тада црс(ј) = сх.гетЦеллРангеБиПоситион(0, и, 3, и ) ј = ј + 1 Крај Ако следећи и
Користимо а за
изјава за петљу кроз редове. Тхе за
блок се завршава са а следећи
наредбу, која повећава променљиву и на крају сваке итерације.
Затим позивамо функцију ГетЦеллБиПоситион
објекта сх. Пребацујемо параметре (3, и)
, односно са сваком итерацијом, објекат ћелије у колони 3 и реду и се преузима у променљивој проф.
Затим користимо ан Ако
изјава за проверу да ли је вредност у ћелији проф „Вритер“. Ако јесте, поново позивамо функцију гетЦеллРангеБиПоситион
, овог пута, са и
уместо броја почетног и крајњег реда. Поново га чувамо у низу црс
.
ТхисЦомпонент.Схеетс.инсертНевБиНаме("Вритерс", 1) сх2 = ТхисЦомпонент.Схеетс(1)
Прво креирамо нови лист са именом Писци
, на позицији 1
, што је 2. позиција, пошто индекс почиње од 0. Тада добијамо објекат овог новонасталог листа, тако да можемо да унесемо податке писаца у овај лист.
и = 0 Уради Док није ИсНулл(црс(и)) сх2ранге = сх2.гетЦеллРангеБиПоситион(0, и, 3, и) сх2ранге.сетДатаАрраи(црс(и).гетДатаАрраи) и = и + 1 Лооп
Тхе Уради Док
наредба петље се користи када желимо да направимо петљу на основу услова, за разлику од петље у опсегу целобројних вредности, за шта се користи за
као што је раније приказано. Ево, петља до црс(и)
није нула.
Затим поново зовемо гетЦеллРангеБиПоситион
на сличан начин као и раније да бисте добили објекат опсега у новом листу.
Коначно, позивамо две функције: гетДатаАрраи
који враћа податке из црс(и)
, односно један ред података (о писцу) са првог листа; и ове податке уписујемо у опсег ћелија у новом листу користећи сетДатаАрраи
.
На крају, сачувајте макро из Датотека » Сачувај све опција.
Да бисте покренули макро, идите на Алатке » Макрои » Покрени макро и изаберите свој макро из директоријума „Моји макрои“ у библиотеци селектора макроа. Кликните Трцати дугме након што изаберете име макроа.
Покретање горњег макроа на нашој табели са узорком даје следећи резултат.
Ово је начин за креирање макроа у ЛибреОффице-у. За више информација и опција погледајте званичну документацију.
? Живели!