15 korisnih JavaScript makroa koje možete isprobati u 2025. godini
Dok Microsoft Office ima makroe zasnovane na VBA, ONLYOFFICE ide korak dalje sa makroima zasnovanim na JavaScript-u, pružajući veću fleksibilnost. U ovom blogu ćemo prikazati neke od brojnih ONLYOFFICE makroa koji nude privlačnu alternativu tradicionalnim makroima zasnovanim na VBA.

Šta je JavaScript makro?
Makroi su moćni alati koji automatizuju zadatke. ONLYOFFICE koristi JavaScript za kreiranje makroa koji pokrivaju uređivanje dokumenata, tabela, prezentacija i PDF-ova. Ovi JavaScript makroi omogućavaju korisnicima da automatizuju zadatke, poboljšaju funkcionalnost dokumenata i prilagode ONLYOFFICE aplikacije prema svojim potrebama.
Zašto bi vam mogla biti potrebna alternativa za VBA makroe?
Sa mogućnošću pisanja prilagođenih JavaScript makroa, možete postići automatizaciju, interaktivnost i besprekornu integraciju sa spoljnim sistemima:
- Automatizacija: JavaScript makroi omogućavaju korisnicima da automatizuju zadatke kao što su formatiranje, manipulacija podacima i proračuni unutar dokumenata.
- Interaktivnost: Makroi mogu učiniti dokumente interaktivnijim reagujući na korisničke akcije ili događaje.
- Prilagođavanje: Korisnici mogu prilagoditi ponašanje ONLYOFFICE aplikacija prema svojim specifičnim potrebama.
- Integracija: JavaScript makroi omogućavaju integraciju sa spoljnim sistemima i uslugama, omogućavajući razmenu podataka i komunikaciju između ONLYOFFICE-a i drugih platformi.
S obzirom na to da ONLYOFFICE makroi koriste JavaScript, pored svoje fleksibilnosti, to je izuzetno popularan jezik sa živahnom zajednicom. Postoji obilje tutorijala koji su dostupni, pružajući sveobuhvatne smernice o tome kako da se suočite sa raznim zadacima koristeći JavaScript. Pored toga, naša detaljna dokumentacija pruža jasna objašnjenja metoda koje možete koristiti u svojim JavaScript makroima.
Upoređivanje Excel VBA makroa sa ONLYOFFICE JavaScript alternativama
Označite duplikate iz selekcije
VBA Excel makro je sledeći:
Sub HighlightDuplicateValues()
Dim myRange As Range
Dim myCell As Range
Set myRange = Selection
For Each myCell In myRange
If WorksheetFunction.CountIf(myRange, myCell.Value) > 1 Then
myCell.Interior.ColorIndex = 36
End If
Next myCell
End Sub
Za razliku od VBA verzije, naša alternativa pruža napredniju funkcionalnost isticanjem dupliranih vrednosti jedinstvenim bojama:
(function ()
{
// Background color of cells with non-repeating values
var whiteFill = Api.CreateColorFromRGB(255, 255, 255);
// The current index of the color range
var uniqueColorIndex = 0;
// Color range to highlight duplicate values
var uniqueColors = [Api.CreateColorFromRGB(255, 255, 0),
Api.CreateColorFromRGB(204, 204, 255),
Api.CreateColorFromRGB(0, 255, 0),
Api.CreateColorFromRGB(0, 128, 128),
Api.CreateColorFromRGB(192, 192, 192),
Api.CreateColorFromRGB(255, 204, 0)];
// Function to get color for duplicates
function getColor() {
// If you have chosen all the unique colors, then let's go from the beginning
if (uniqueColorIndex === uniqueColors.length) {
uniqueColorIndex = 0;
}
return uniqueColors[uniqueColorIndex++];
}
// Getting an active sheet
var activeSheet = Api.ActiveSheet;
// Getting selection on the active sheet
var selection = activeSheet.Selection;
// Map of values in cells with the duplicates number
var mapValues = {};
// All cells range
var arrRanges = [];
// Going through the selection
selection.ForEach(function (range) {
// Getting value from cell
var value = range.GetValue();
if (!mapValues.hasOwnProperty(value)) {
mapValues[value] = 0;
}
mapValues[value] += 1;
arrRanges.push(range);
});
var value;
var mapColors = {};
// We go through all the cells of the selection and setting the highlighting if this value is repeated more than 1 time
for (var i = 0; i < arrRanges.length; ++i) {
value = arrRanges[i].GetValue();
if (mapValues[value] > 1) {
if (!mapColors.hasOwnProperty(value)) {
mapColors[value] = getColor();
}
arrRanges[i].SetFillColor(mapColors[value]);
} else {
arrRanges[i].SetFillColor(whiteFill);
}
}
})();

Otkrijte sve redove i kolone
Ovaj VBA skript otkriva sve redove i kolone na tabeli:
Sub UnhideRowsColumns()
Columns.EntireColumn.Hidden = False
Rows.EntireRow.Hidden = False
End Sub
Isto se može uraditi i sa JavaScript makroom:
(function()
{
var activeSheet = Api.ActiveSheet;
var indexRowMax = 1048576;
var n = 1;
for (let i = 0; i < indexRowMax; i++) {
activeSheet.GetRows(n).SetHidden(false);
n++;
}
var newRange = activeSheet.GetRange("A1");
newRange.SetValue("All the rows and columns are unhidden now");
})();

Takođe možete sakriti sve redove i kolone tako što ćete postaviti parametar SetHidden na true u ovom makrou:
(function()
{
var activeSheet = Api.ActiveSheet;
var indexRowMax = 1048576;
var n = 1;
for (let i = 0; i < indexRowMax; i++) {
activeSheet.GetRows(n).SetHidden(true);
n++;
}
var newRange = activeSheet.GetRange("A1");
newRange.SetValue("All the rows and columns are hidden now");
})();
Ako su vam potrebne naprednije funkcije, detaljno smo opisali makro u drugom blog postu koji vam omogućava da sakrijete/otkrijete određene redove i kolone.
Istaknite veće od vrednosti
Evo VBA verzije koja naglašava veću od vrednosti:
Sub HighlightGreaterThanValues()
Dim i As Integer
i = InputBox("Enter Greater Than Value", "Enter Value")
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, _
Operator:=xlGreater, Formula1:=i
Selection.FormatConditions(Selection.FormatConditions.Count).S
tFirstPriority
With Selection.FormatConditions(1)
.Font.Color = RGB(0, 0, 0)
.Interior.Color = RGB(31, 218, 154)
End With
End Sub
Isti zadatak se može rešiti sa ONLYOFFICE JavaScript makroom, čak i korišćenjem manje linija koda:
(function ()
{
var activeSheet = Api.ActiveSheet;
var selection = activeSheet.Selection;
selection.ForEach(function (range) {
var value = range.GetValue();
if (value > 5) {
range.SetFillColor(Api.CreateColorFromRGB(255, 255, 0));
}
});
})();

I pored toga što ima manje linija koda, naša alternativa nudi bolju svestranost. Na primer, promenom uslova if izjave, možemo:
- Istaknuti vrednosti manje od:
(function ()
{
var activeSheet = Api.ActiveSheet;
var selection = activeSheet.Selection;
selection.ForEach(function (range) {
var value = range.GetValue();
if (value < 5) {
range.SetFillColor(Api.CreateColorFromRGB(255, 255, 0));
}
});
- Istaknuti negativne brojeve:
(function ()
{
var activeSheet = Api.ActiveSheet;
var selection = activeSheet.Selection;
selection.ForEach(function (range) {
var value = range.GetValue();
if (value < 0) {
range.SetFillColor(Api.CreateColorFromRGB(255, 255, 0));
}
});
})();
- Istaknuti ćelije sa specifičnim tekstom:
(function ()
{
var activeSheet = Api.ActiveSheet;
var selection = activeSheet.Selection;
selection.ForEach(function (range) {
var value = range.GetValue();
if (value == 'text') {
range.SetFillColor(Api.CreateColorFromRGB(255, 255, 0));
}
});
})();
Više korisnih JavaScript makroa za isprobavanje
- JavaScript makro za dodavanje indeksa na selekciju u ONLYOFFICE tabelama
Ponekad podrazumevano indeksiranje jednostavno nije dovoljno. Tu dolazi naš JavaScript makro koji štedi vreme. On će uredno indeksirati sve redove u vašem izboru, čineći vaš radni tok u tabelama mnogo jednostavnijim. - JavaScript makro za kopiranje tabela
Uređivanje tabela može biti komplikovano, posebno kada se radi sa više tabela sa sličnim podacima. Ova JavaScript makro funkcija kopira podatke iz jedne tabele u drugu i pomaže vam da lako upravljate velikim tabelama. - JavaScript makro za skaliranje slika u prezentacijama
Rukovanje slikama u prezentacijama često podrazumeva vremenski zahtevno ručno prilagođavanje veličine, posebno kada se radi sa velikim brojem vizuala. Ovaj JavaScript makro prilagođava veličinu svih slika u vašoj prezentaciji. - JavaScript makro za uvoz hiperlinkova u tabelu
Hiperlinkovi mogu značajno poboljšati estetiku i funkcionalnost vaših tabela, olakšavajući pristup ključnim resursima unutar vaših dokumenata. Ova JavaScript makro fukcija uvozi hiperlinkove izvlačeći podatke o linkovima iz druge tabele. - JavaScript makro za pronalaženje logotipa kompanije
S obzirom na mnoge logotipe koji postoje, otkrivanje referenci logotipa može biti pomalo komplikovano ovih dana, što može dovesti do zabune. Ipak, uz ONLYOFFICE makroe, možete učiniti ovaj proces automatskim. Ovaj JavaScript makro može istovremeno preuzeti nekoliko logotipa iz spoljnog API-ja i umetnuti ih u vašu tabelu. - JavaScript makro za generisanje personalizovanih pozdrava na osnovu pola
Pravilno obraćanje ljudima je ključno u komunikaciji jer pokazuje poštovanje, inkluzivnost i profesionalnost. Ovaj JavaScript makro koristi Genderize.io API za generisanje odgovarajućih personalizovanih pozdrava.
- JavaScript makro za praćenje narudžbi na Shopify-u
U današnje vreme, e-trgovina je postala dragocen alat za prevazilaženje geografskih barijera i olakšavanje stalnog toka prihoda. Stoga je upravljanje i praćenje informacija o narudžbama vitalni deo uspešne poslovne strategije. Ovaj JavaScript makro preuzima podatke o narudžbama sa Shopify-a i unosi ih u tabelu. - JavaScript makro za uvoz CSV i TXT podataka u vašu tabelu
Skladištenje tabelarnih podataka u CSV formatu je veoma praktično na mnogo načina, što čini ovu vrstu datoteke izuzetno popularnom. ONLYOFFICE Docs omogućava uvoz lokalnih CSV i TXT datoteka. Ovaj JavaScript makro će vam pomoći da se nosite sa uvozom udaljenih CSV i TXT datoteka.
- JavaScript makro koji zamenjuje reči u dokumentu
Uređivanje dokumenata je suštinski deo naše rutine, i stalno tražimo alate za pojednostavljenje ponavljajućih radnji. Ovaj JavaScript makro zamenjuje reči u dokumentu unutar selekcije.
- JavaScript makro za kreiranje tabele sa numerisane liste
Kada se upravlja dokumentima, pretvaranje numerisanih lista u tabele može značajno poboljšati čitljivost i prezentaciju. Ovaj JavaScript makro pretvara numerisane liste u strukturirane tabele.
- JavaScript makro za kopiranje kolona u odvojene tabele
Korišćenjem ONLYOFFICE makroa, možete pojednostaviti složene zadatke, smanjujući sate rada na jedan klik. Ovaj JavaScript makro kopira određene kolone u dodeljene listove. - JavaScript makro za uklanjanje duplikata u selekciji
Ovaj JavaScript makro uklanja duplikate iz odabira tabele. Pomaže vam da se oslobodite duplih unosa, čineći vaše podatke čistim i tačnim uz jednostavno i efikasno rešenje koje poboljšava vaše ukupno iskustvo sa tabelama.
ONLYOFFICE makroi su fleksibilni i moćni alati, sposobni ne samo da oponašaju funkcionalnost VBA makroa, već ih i nadmašuju.
Takođe, ohrabrujemo sve da iskoriste naš ONLYOFFICE API and create your own fascinating macros. i kreiraju svoje fascinantne makroe. Ako imate bilo kakvih pitanja ili ideja, ne oklevajte da nas kontaktirate. Otvoreni smo za diskusiju i saradnju.
Create your free ONLYOFFICE account
View, edit and collaborate on docs, sheets, slides, forms, and PDF files online.


