லினக்ஸில் LibreOffice Calc இல் மேக்ரோவை உருவாக்குவது மற்றும் இயக்குவது எப்படி

LibreOffice என்பது முக்கிய மற்றும் தனியுரிம Microsoft Office Suiteக்கான FOSS உலகின் பதில். முன்னணி அலுவலக உற்பத்தித்திறன் மென்பொருள் உருவாக்குநர்கள் மற்றும் பங்களிப்பாளர்களால் உருவாக்கப்பட்டது, இது பல இயக்க முறைமைகளில் மைக்ரோசாஃப்ட் ஆபிஸுக்கு முழுமையான மாற்றீட்டை வழங்குகிறது.

மைக்ரோசாஃப்ட் எக்செல் க்கு இணையான லிப்ரே ஆபிஸ் பயன்பாடு லிப்ரே ஆபிஸ் கால்க் என்று அழைக்கப்படுகிறது. இது பல அம்சங்கள் மற்றும் எக்செல் போன்ற இடைமுகத்துடன் வருகிறது. ஆட்டோமேஷனுக்காக மேக்ரோக்களை உருவாக்கி இயக்குவதற்கு உள்ளமைக்கப்பட்ட மேக்ரோ எஞ்சின் உள்ளது. இருப்பினும், இது விஷுவல் பேசிக்கை ஆதரிக்கவில்லை, ஆனால் அதன் சொந்த மொழியை ஆதரிக்கிறது; LibreOffice Basic, நிரலாக்க மேக்ரோக்களுக்கு.

Ubuntu, Debian, Fedora மற்றும் CentOS உள்ளிட்ட பெரும்பாலான லினக்ஸ் விநியோகங்களில் LibreOffice தொகுப்பு முன்பே நிறுவப்பட்டுள்ளது.

LibreOffice Calc இல் மேக்ரோவை உருவாக்குதல் மற்றும் இயக்குதல்

முதலில், சில மாதிரி தரவுகளுடன் பணித்தாளை உருவாக்குவோம்.

மேக்ரோஸ் அமைப்பாளரைத் திறக்க, செல்லவும் கருவிகள் » மேக்ரோக்கள் » மேக்ரோக்களை ஒழுங்கமைத்தல் » LibreOffice அடிப்படைகள். இது திறக்கும் LibreOffice அடிப்படை மேக்ரோக்கள் கீழே உள்ள ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி சாளரம்.

மேக்ரோவிற்கு புதிய பெயரை உள்ளிடவும், பின்னர் சாளரத்தின் கீழ் வலது பக்கத்தில் உள்ள புதிய பொத்தானைக் கிளிக் செய்யவும்.

நீங்கள் இப்போது LibreOffice Basicல் மேக்ரோ எடிட்டர் திரையைப் பார்க்க வேண்டும்.

நாம் பார்க்கிறபடி, கைமுறையாக உருவாக்கப்பட்ட மேக்ரோக்கள் முன்னிருப்பாக “எனது மேக்ரோக்கள் & உரையாடல்கள் -> தரநிலை -> தொகுதி1” என்பதன் கீழ் உருவாக்கப்படுகின்றன.

தற்போது இரண்டு மேக்ரோக்கள் உள்ளன: ஒன்று முக்கிய, இது இயல்புநிலை வெற்று மேக்ரோவாகும், மற்றவை சோதனை, மேலே நாம் உருவாக்கிய மேக்ரோ. இப்போது சோதனை மேக்ரோவை மேம்படுத்துவோம்.

எங்கள் மேக்ரோ பின்வரும் பணிகளைச் செய்யும்:

  • எல்லா மக்களுக்கும் எந்த எழுத்தாளரின் தொழில் உள்ளது என்பதைச் சரிபார்க்கவும்
  • புதிய தாளை உருவாக்கவும்
  • எழுத்தாளர்களுக்கான அனைத்து உள்ளீடுகளையும் புதிய தாளில் நகர்த்தவும்

பின்வருபவை எங்கள் மேக்ரோ:

சப் டெஸ்ட் ரெம் ரைட்டரைத் தொழிலாகக் கொண்ட உள்ளீடுகளை புதிய தாள் மங்கலான crs(8) க்கு ஆப்ஜெக்ட் டிம் ஜே என முழு எண் டிம் ப்ரொஃப், ஆப்ஜெக்ட் டிம் ஐ என இன்டீஜெர் டிம் ஷ், ஆப்ஜெக்ட் டிம் ஷ்2 என ஆப்ஜெக்ட் sh = ThisComponent.Sheets(0) crs(0) = sh.getCellRangeByPosition(0, 0, 3, 0) j = 1 க்கு i = 1 முதல் 5 x = 1 prof = sh.GetCellByPosition(3, i) rem முழு வரிசையையும் மாறியில் சேமிக்கவும் என்றால் prof.string = "Writer" பிறகு crs(j) = sh.getCellRangeByPosition(0, i, 3, i) j = j + 1 முடிவு அடுத்து i rem இப்போது ஒரு புதிய தாளை உருவாக்கி இந்தத் தரவை அங்கு எழுதவும் ThisComponent.Sheets.insertNewByName("Writers", 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 லூப் எண்ட் துணை

மேலே உள்ள மேக்ரோவை உங்களுக்கு பகுதிவாரியாக விளக்குகிறேன்.

துணை சோதனை. . . முடிவு துணை

சோதனை என்பது நமது மேக்ரோவின் பெயர், எனவே குறியீட்டில் இது குறிக்கப்படுகிறது துணை சோதனை (துணை = சப்ரூட்டின்). இதேபோல் இந்த மேக்ரோ குறியீட்டை அறிக்கையுடன் முடிக்கிறோம் முடிவு துணை. மெனுவிலிருந்து மேக்ரோவை உருவாக்கும் போது இந்த அறிக்கைகள் தானாகவே சேர்க்கப்படும் என்பதை நினைவில் கொள்ளவும், இருப்பினும் பயனர் நேரடியாக மேக்ரோ குறியீட்டை இங்கே எழுதலாம் மற்றும் சப்ரூட்டின் பெயர் மேக்ரோ பெயராகக் கருதப்படும்.

rem 

LibreOffice Basic இல் உள்ள அனைத்து கருத்துகளும் முக்கிய சொல்லுடன் தொடங்குகின்றன rem. rem உடன் தொடங்கும் ஒரு முழுமையான வரி கருத்துக்களாகக் கருதப்படுகிறது. மற்றொரு வழி பயன்படுத்துவது ' (ஒற்றை தலைகீழ் கமா) வரியின் தொடக்கத்தில்.

dim crs(8) பொருளாக dim j ஆக முழு எண் dim prof என பொருள் dim i integer dim sh என பொருள் dim sh2 பொருளாக

இது LibreOffice Basic இல் மாறி அறிவிப்பு ஆகும். பொதுவான தொடரியல் என்பது மங்கலானது . ஒரு வரிசையை அறிவிக்க, 8 என்பது வரிசையின் நீளம் என்பது மாறி crs போன்ற தொடரியலைப் பயன்படுத்தவும்.

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 to 5 x = 1 prof = sh.GetCellByPosition(3, i) rem முழு வரிசையை மாறியில் சேமிக்கவும் என்றால் prof.string = "Writer" என்றால் crs(j) = sh.getCellRangeByPosition(0, i, 3, i ) j = j + 1 முடிவு என்றால் அடுத்த i

நாங்கள் பயன்படுத்துகிறோம் a க்கான வரிசைகள் வழியாக வளைய அறிக்கை. தி க்கான தொகுதி a உடன் முடிவடைகிறது அடுத்தது கூற்று, இது ஒவ்வொரு மறு செய்கையின் முடிவிலும் i என்ற மாறியை அதிகரிக்கிறது.

அடுத்து நாம் ஒரு செயல்பாட்டை அழைக்கிறோம் GetCellByPosition பொருளின் sh. நாங்கள் அளவுருக்களை கடந்து செல்கிறோம் (3, i), அதாவது, ஒவ்வொரு மறு செய்கையிலும், நெடுவரிசை 3 மற்றும் வரிசை i இல் உள்ள கலத்தின் பொருள் மாறி prof இல் மீட்டெடுக்கப்படுகிறது.

பின்னர் நாம் ஒரு பயன்படுத்துகிறோம் என்றால் செல் ப்ரொஃபரின் மதிப்பு "எழுத்தாளர்" என்பதை சரிபார்க்க அறிக்கை. அது இருந்தால், நாங்கள் மீண்டும் செயல்பாட்டை அழைக்கிறோம் getCellRangeByPosition, இந்த நேரத்தில், உடன் நான் தொடக்க மற்றும் இறுதி வரிசை எண்ணின் இடத்தில். மீண்டும் அதை வரிசையில் சேமித்து வைக்கிறோம் crs.

ThisComponent.Sheets.insertNewByName("Writers", 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 Loop

தி போது செய்யுங்கள் லூப் அறிக்கையானது நிபந்தனைகளின் அடிப்படையில் லூப் செய்ய விரும்பும் போது பயன்படுத்தப்படுகிறது, இது முழு எண் மதிப்புகளின் வரம்பில் லூப்பிங் செய்வதற்கு மாறாக பயன்படுத்தப்படுகிறது. க்கான முன்பு காட்டப்பட்டபடி. இங்கே, நாம் லூப் வரை crs(i) பூஜ்யமாக இல்லை.

அடுத்து, நாங்கள் மீண்டும் அழைக்கிறோம் getCellRangeByPosition புதிய தாளில் வரம்பு பொருளைப் பெறுவதற்கு முன்பு போலவே.

இறுதியாக, நாம் இரண்டு செயல்பாடுகளை அழைக்கிறோம்: getDataArray இதிலிருந்து தரவை வழங்கும் crs(i), அதாவது, முதல் தாளில் இருந்து ஒரு வரிசை தரவு (எழுத்தாளர் பற்றி); மேலும் இந்தத் தரவை செல் வரம்பிற்குப் பயன்படுத்தி புதிய தாளில் எழுதுகிறோம் setDataArray.

இறுதியாக, மேக்ரோவை சேமிக்கவும் கோப்பு » அனைத்தையும் சேமி விருப்பம்.

மேக்ரோவை இயக்க, செல்லவும் கருவிகள் » மேக்ரோக்கள் » மேக்ரோவை இயக்கவும் மேக்ரோ செலக்டர் லைப்ரரியில் உள்ள "மை மேக்ரோஸ்" கோப்பகத்திலிருந்து உங்கள் மேக்ரோவைத் தேர்ந்தெடுக்கவும். கிளிக் செய்யவும் ஓடு மேக்ரோ பெயரைத் தேர்ந்தெடுத்த பிறகு பொத்தான்.

மேலே உள்ள மேக்ரோவை எங்கள் மாதிரி விரிதாளில் இயக்குவது, பின்வரும் முடிவை உருவாக்குகிறது.

LibreOffice இல் மேக்ரோக்களை உருவாக்க இதுவே வழி. மேலும் தகவல் மற்றும் விருப்பங்களுக்கு, அதிகாரப்பூர்வ ஆவணங்களைப் பார்க்கவும்.

? சியர்ஸ்!