Linuxలో LibreOffice Calcలో మాక్రోను ఎలా సృష్టించాలి మరియు అమలు చేయాలి

LibreOffice అనేది ప్రధాన స్రవంతి మరియు యాజమాన్య Microsoft Office సూట్‌కు FOSS ప్రపంచం యొక్క సమాధానం. ప్రముఖ ఆఫీస్ ఉత్పాదకత సాఫ్ట్‌వేర్ డెవలపర్‌లు మరియు కంట్రిబ్యూటర్‌లచే అభివృద్ధి చేయబడింది, ఇది బహుళ ఆపరేటింగ్ సిస్టమ్‌లలో Microsoft Officeకి పూర్తి ప్రత్యామ్నాయాన్ని అందిస్తుంది.

Microsoft Excelకి సమానమైన LibreOffice యాప్‌ని LibreOffice Calc అంటారు. ఇది అనేక ఫీచర్లు మరియు ఎక్సెల్ మాదిరిగానే ఇంటర్‌ఫేస్‌తో వస్తుంది. ఇది ఆటోమేషన్ కోసం మాక్రోలను అభివృద్ధి చేయడానికి మరియు అమలు చేయడానికి అంతర్నిర్మిత మాక్రో ఇంజిన్‌ను కలిగి ఉంది. అయినప్పటికీ, ఇది విజువల్ బేసిక్‌కు మద్దతు ఇవ్వదు, కానీ దాని స్వంత భాషకు మద్దతు ఇస్తుంది; లిబ్రేఆఫీస్ బేసిక్, ప్రోగ్రామింగ్ మాక్రోల కోసం.

LibreOffice సూట్ Ubuntu, Debian, Fedora మరియు CentOSతో సహా చాలా Linux పంపిణీలలో ముందే ఇన్‌స్టాల్ చేయబడింది.

LibreOffice Calcలో మాక్రోను సృష్టించడం మరియు అమలు చేయడం

ముందుగా, కొంత నమూనా డేటాతో వర్క్‌షీట్‌ని క్రియేట్ చేద్దాం.

Macros ఆర్గనైజర్‌ని తెరవడానికి, దీనికి వెళ్లండి సాధనాలు » మాక్రోలు » మ్యాక్రోలను నిర్వహించండి » LibreOffice బేసిక్స్. ఇది తెరుచుకుంటుంది లిబ్రేఆఫీస్ బేసిక్ మాక్రోలు దిగువ స్క్రీన్‌షాట్‌లో చూపిన విధంగా విండో.

మాక్రో కోసం కొత్త పేరును నమోదు చేయండి, ఆపై విండో దిగువ కుడి వైపున ఉన్న కొత్త బటన్‌ను క్లిక్ చేయండి.

మీరు ఇప్పుడు LibreOffice Basicలో మాక్రో ఎడిటర్ స్క్రీన్‌ని చూడాలి.

మనం చూడగలిగినట్లుగా, మాన్యువల్‌గా సృష్టించబడిన మాక్రోలు డిఫాల్ట్‌గా “నా మాక్రోలు & డైలాగ్‌లు -> స్టాండర్డ్ -> మాడ్యూల్1” కింద సృష్టించబడతాయి.

ప్రస్తుతం రెండు మాక్రోలు ఉన్నాయి: ఒకటి ప్రధాన, ఇది డిఫాల్ట్ ఖాళీ స్థూల మరియు ఇతరమైనది పరీక్ష, మేము పైన సృష్టించిన మాక్రో. మేము ఇప్పుడు పరీక్ష మాక్రోను మెరుగుపరుస్తాము.

మా మాక్రో క్రింది పనులను చేస్తుంది:

  • వ్యక్తులందరికీ వృత్తి రచయితలు ఉన్నారో లేదో తనిఖీ చేయండి
  • కొత్త షీట్‌ను సృష్టించండి
  • కొత్త షీట్‌లో రచయితల కోసం అన్ని ఎంట్రీలను తరలించండి

మా మాక్రో క్రిందిది:

సబ్ టెస్ట్ rem ప్రొఫెషన్ రైటర్‌తో ఎంట్రీలను కొత్త షీట్ డిమ్ crs(8)కి ఆబ్జెక్ట్ డిమ్ జెగా పూర్ణాంకం డిమ్ ప్రొఫ్‌గా ఆబ్జెక్ట్ డిమ్ ఐగా పూర్ణాంకం డిమ్ shగా ఆబ్జెక్ట్ డిమ్ sh2గా ఆబ్జెక్ట్ sh = ThisComponent.Sheets(0) crs(0) = sh.getCellRangeByPosition(0, 0, 3, 0) j = 1 for i = 1 నుండి 5 x = 1 prof = sh.GetCellByPosition(3, i) rem వేరియబుల్‌లో పూర్తి అడ్డు వరుసను నిల్వ చేస్తే prof.string = "రైటర్" ఆపై crs(j) = sh.getCellRangeByPosition(0, i, 3, i) j = j + 1 ముగింపు ఐతే ఇప్పుడు కొత్త షీట్‌ని సృష్టించి, ఈ డేటాను అక్కడ వ్రాయండి ThisComponent.Sheets.insertNewByName("రైటర్స్", 1) sh2 = ThisComponent.Sheets(1) i = 0 చేయనప్పుడు IsNull(crs(i)) sh2range = sh2.getCellRangeByPosition(0, i, 3, i) sh2range.setDataArray(crs(i).getDataArray) i = i + 1 లూప్ ఎండ్ సబ్

పై స్థూలాన్ని మీకు విభాగాల వారీగా వివరిస్తాను.

ఉప పరీక్ష. . . ముగింపు ఉప

పరీక్ష అనేది మా స్థూల పేరు, అందుకే కోడ్‌లో ఇది ఇలా సూచించబడుతుంది ఉప పరీక్ష (సబ్ = సబ్‌రౌటిన్). అదేవిధంగా మేము ఈ మాక్రో కోడ్‌ను స్టేట్‌మెంట్‌తో ముగించాము ముగింపు ఉప. మేము మెను నుండి మాక్రోను సృష్టించినప్పుడు ఈ స్టేట్‌మెంట్‌లు స్వయంచాలకంగా జోడించబడతాయని గుర్తుంచుకోండి, అయినప్పటికీ వినియోగదారు నేరుగా ఇక్కడ మాక్రో కోడ్‌ను వ్రాయవచ్చు మరియు సబ్‌రూటీన్ పేరు స్థూల పేరుగా పరిగణించబడుతుంది.

రెం 

లిబ్రేఆఫీస్ బేసిక్‌లోని అన్ని వ్యాఖ్యలు కీవర్డ్‌తో ప్రారంభమవుతాయి రెం. రెమ్‌తో ప్రారంభమయ్యే పూర్తి లైన్ వ్యాఖ్యగా పరిగణించబడుతుంది. మరొక మార్గం ఉపయోగించడం ' (ఒకే విలోమ కామా) లైన్ ప్రారంభంలో.

dim crs(8) ఆబ్జెక్ట్ dim j లాగా పూర్ణాంకం dim prof గా ఆబ్జెక్ట్ dim i integer dim sh గా ఆబ్జెక్ట్ dim sh2 వస్తువుగా

ఇది లిబ్రేఆఫీస్ బేసిక్‌లో వేరియబుల్ డిక్లరేషన్. సాధారణ వాక్యనిర్మాణం మసకగా . శ్రేణిని ప్రకటించడానికి, వేరియబుల్ crs మాదిరిగానే సింటాక్స్‌ను ఉపయోగించండి, ఇక్కడ 8 అనేది శ్రేణి యొక్క పొడవు.

sh = ThisComponent.Sheets(0) crs(0) = sh.getCellRangeByPosition(0, 0, 3, 0) j = 1

ఈ భాగం ప్రస్తుత పత్రాన్ని సూచిస్తుంది. ఈ సందర్భంలో ఇది కాల్క్ వర్క్‌షీట్. మేము షీట్‌ను సూచిక 0తో లోడ్ చేస్తాము, అనగా మొదటి షీట్, వేరియబుల్ shలో. పేరును ఉపయోగించి షీట్‌ను లోడ్ చేయడానికి కూడా విధులు ఉన్నాయి.

తరువాత మనం ఫంక్షన్ అని పిలుస్తాము getCellRangeByPosition వస్తువు sh మరియు దానిని అర్రే crs లోకి లోడ్ చేయండి. సెల్ పరిధి అనేది స్థానం ఆధారంగా షీట్‌లోని కణాల సమూహాన్ని సూచిస్తుంది.

వాదనలు గమనించండి, 0, 0 (నిలువు వరుస 0, అడ్డు వరుస 0) పరిధి యొక్క ప్రారంభ గడిని సూచిస్తాయి మరియు 3, 0 (నిలువు వరుస 3, అడ్డు వరుస 0) పరిధి ముగింపు గడిని సూచిస్తాయి. ఈ విధంగా 0, 0, 3, 0 మా నమూనా షీట్ యొక్క మొదటి (శీర్షిక) వరుసను సూచిస్తుంది.

i = 1 నుండి 5 x = 1 prof = sh.GetCellByPosition(3, i) rem పూర్తి అడ్డు వరుసను వేరియబుల్‌లో భద్రపరుచుకోండి, ఒకవేళ prof.string = "రైటర్" అయితే crs(j) = sh.getCellRangeByPosition(0, i, 3, i ) j = j + 1 ముగింపు తదుపరి ఐ అయితే

మేము a ఉపయోగిస్తాము కోసం వరుసల ద్వారా లూప్ చేయడానికి ప్రకటన. ది కోసం బ్లాక్ a తో ముగుస్తుంది తరువాత స్టేట్‌మెంట్, ఇది ప్రతి పునరావృతం ముగింపులో వేరియబుల్ iని పెంచుతుంది.

తరువాత మనం ఒక ఫంక్షన్ అని పిలుస్తాము GetCellByPosition వస్తువు sh. మేము పారామితులను పాస్ చేస్తాము (3, i), అనగా, ప్రతి పునరావృతంతో, కాలమ్ 3 మరియు అడ్డు వరుస iలోని సెల్ యొక్క వస్తువు వేరియబుల్ profలో తిరిగి పొందబడుతుంది.

అప్పుడు మేము ఒక ఉపయోగిస్తాము ఉంటే సెల్ ప్రొఫెసర్‌లో విలువ “రైటర్” కాదా అని తనిఖీ చేయడానికి ప్రకటన. అది ఉంటే, మేము మళ్ళీ ఫంక్షన్ అని పిలుస్తాము getCellRangeByPosition, ఈసారి, తో i ప్రారంభ మరియు ముగింపు వరుస సంఖ్య స్థానంలో. మళ్ళీ మేము దానిని శ్రేణిలో నిల్వ చేస్తాము crs.

ThisComponent.Sheets.insertNewByName("రైటర్స్", 1) sh2 = ThisComponent.Sheets(1)

మొదట మేము పేరుతో కొత్త షీట్‌ను సృష్టిస్తాము రచయితలు, స్థానంలో 1, ఇది 2వ స్థానం, ఇండెక్స్ 0 వద్ద మొదలవుతుంది. అప్పుడు మనం కొత్తగా సృష్టించిన ఈ షీట్ యొక్క వస్తువును పొందుతాము, తద్వారా ఈ షీట్‌లో రచయితల డేటాను నమోదు చేయవచ్చు.

i = 0 చేయనప్పుడు IsNull(crs(i)) sh2range = sh2.getCellRangeByPosition(0, i, 3, i) sh2range.setDataArray(crs(i).getDataArray) i = i + 1 లూప్

ది అయితే చేయండి మేము షరతుల ఆధారంగా లూప్ చేయాలనుకున్నప్పుడు లూప్ స్టేట్‌మెంట్ ఉపయోగించబడుతుంది, ఇది పూర్ణాంకాల విలువల పరిధిలో లూప్ చేయడానికి విరుద్ధంగా ఉపయోగించబడుతుంది, దీని కోసం ఉపయోగించబడుతుంది. కోసం ముందు చూపిన విధంగా. ఇక్కడ, మేము వరకు లూప్ చేస్తాము crs(i) శూన్యం కాదు.

తరువాత, మేము మళ్ళీ కాల్ చేస్తాము getCellRangeByPosition కొత్త షీట్‌లో రేంజ్ ఆబ్జెక్ట్‌ని పొందడానికి మునుపటి మాదిరిగానే.

చివరగా, మేము రెండు ఫంక్షన్లను పిలుస్తాము: getDataArray దీని నుండి డేటాను అందిస్తుంది crs(i), అనగా, మొదటి షీట్ నుండి ఒక వరుస డేటా (రచయిత గురించి); మరియు మేము ఈ డేటాను ఉపయోగించి కొత్త షీట్‌లో సెల్ పరిధికి వ్రాస్తాము సెట్డేటాఅర్రే.

చివరగా, స్థూల నుండి సేవ్ చేయండి ఫైల్ » అన్నింటినీ సేవ్ చేయండి ఎంపిక.

మాక్రోను అమలు చేయడానికి, దీనికి వెళ్లండి సాధనాలు » మాక్రోలు » మాక్రోను అమలు చేయండి మరియు మాక్రో సెలెక్టర్ లైబ్రరీలోని "మై మాక్రోస్" డైరెక్టరీ నుండి మీ మ్యాక్రోను ఎంచుకోండి. క్లిక్ చేయండి పరుగు స్థూల పేరును ఎంచుకున్న తర్వాత బటన్.

మా నమూనా స్ప్రెడ్‌షీట్‌లో పై స్థూలాన్ని అమలు చేయడం, కింది ఫలితాన్ని ఉత్పత్తి చేస్తుంది.

లిబ్రేఆఫీస్‌లో మాక్రోలను సృష్టించడానికి ఇది మార్గం. మరింత సమాచారం మరియు ఎంపికల కోసం, అధికారిక డాక్యుమెంటేషన్‌ని చూడండి.

? చీర్స్!