मैक्रो (सॉफ्टवेयर)
सॉफ्टवेयर के संदर्भ में मैक्रो (macro ; यूनानी μάκρο = बड़ा या दूर) किसी नियम या पैटर्न का द्योतक है जो बताता है कि किसी इनपुट-श्रेणी (सेक्वेंस) के संगत आउटपुट श्रेणी क्या रहेगी। प्रायः इनपुट श्रेणी और आउटपुट श्रेणी दोनो ही वर्णों की श्रेणी या शब्दसमूह होते हैं। (जैसे इन्पुट श्रेणी = LDA और आउटपुट श्रेणी = Load accumulator आदि)। 'मैक्रो' शब्द कम्प्यूटर की प्रगति के आरम्भिक दिनों में मैक्रो-असेम्बुलरों के साथ अस्तित्व में आया।
आजकल अधिकांश अप्लिकेशन सॉफ्टवेयरों (जैसे ओपेनआफिस, नोटपैड++ आदि) में मैक्रो रेकार्ड करने, उसे चलाने एवं सम्पादित करने आदि की सुविधा होती है। कुंजीपटल और माउस के मैक्रो भी होते हैं जो कुछ कुंजियों को दबाने मात्र से बहुत सारे काम क्रम से कर देते हैं जिनके लिये बहुत सी कुंजियाँ दबानी पड़तीं। मैक्रो का समुचित उपयोग करके पुनरावृत्त (रिपिटेटिव) कार्यों में श्रम से बचा जा सकता है और गलती की सम्भावना भी समाप्त हो जाती है।
- उदाहरण
नीचे ओपेन आफिस के राइटर में स्थित किसी डॉक्युमेंट का फांट यूनिकोड से कृतिदेव १० में बदलने के लिये निर्मित एक मैक्रो का कुछ भाग दिखाया गया है -
ओपेनआफिस का यूनिकोड को कृतिदेव में बदलने का मेरा आरम्भिक मैक्रो कुछ इस प्रकार है-
ओपेनआफिस का यूनिकोड को कृतिदेव में बदलने का मेरा आरम्भिक मैक्रो कुछ इस प्रकार है-
REM ***** BASIC ***** sub Unicode_to_Kritidev_trial rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem ---------------------------------------------------------------------- dim args2(18) as new com.sun.star.beans.PropertyValue args2(0).Name = "SearchItem.StyleFamily" args2(0).Value = 2 args2(1).Name = "SearchItem.CellType" args2(1).Value = 0 args2(2).Name = "SearchItem.RowDirection" args2(2).Value = true args2(3).Name = "SearchItem.AllTables" args2(3).Value = false args2(4).Name = "SearchItem.Backward" args2(4).Value = false args2(5).Name = "SearchItem.Pattern" args2(5).Value = false args2(6).Name = "SearchItem.Content" args2(6).Value = false args2(7).Name = "SearchItem.AsianOptions" args2(7).Value = true args2(8).Name = "SearchItem.AlgorithmType" args2(8).Value = 0 args2(9).Name = "SearchItem.SearchFlags" args2(9).Value = 65536 args2(10).Name = "SearchItem.SearchString" args2(11).Name = "SearchItem.ReplaceString" args2(12).Name = "SearchItem.Locale" args2(12).Value = 255 args2(13).Name = "SearchItem.ChangedChars" args2(13).Value = 2 args2(14).Name = "SearchItem.DeletedChars" args2(14).Value = 2 args2(15).Name = "SearchItem.InsertedChars" args2(15).Value = 2 args2(16).Name = "SearchItem.TransliterateFlags" args2(16).Value = 1024 args2(17).Name = "SearchItem.Command" args2(17).Value = 3 args2(18).Name = "Quiet" args2(18).Value = true args2(10).Value = "‘" args2(11).Value = "^" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) args2(10).Value = "\’" args2(11).Value = "*" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) args2(10).Value = "“" args2(11).Value = "Þ" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) args2(10).Value = "”" args2(11).Value = "ß" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) args2(10).Value = "(" args2(11).Value = "¼" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) args2(10).Value = ")" args2(11).Value = "½" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) args2(10).Value = "म" args2(11).Value = "e" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) args2(10).Value = "{" args2(11).Value = "¿" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) args2(10).Value = "}" args2(11).Value = "À" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) args2(10).Value = "=" args2(11).Value = "¾" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) args2(10).Value = "।" args2(11).Value = "A" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2()) end sub