VBA மேக்ரோக்கள் மூலம் அறிவியல் பெயர் வடிவமைப்பை மேம்படுத்துதல்
வேர்ட் ஆவணங்களில் அறிவியல் பெயர்களை வடிவமைக்க VBA மேக்ரோக்களைப் பயன்படுத்துவது ஒரு சக்திவாய்ந்த கருவியாகும், குறிப்பாக Excel இலிருந்து தரவை இழுக்கும்போது. இந்த கட்டுரை ஒரு குறிப்பிட்ட VBA மேக்ரோவைப் பற்றி விவாதிக்கிறது, இது தடிமனான, சாய்வு மற்றும் அறிவியல் பெயர்களின் எழுத்துருவை மாற்றுவதில் சிறந்து விளங்குகிறது, ஆனால் உரையை வாக்கியமாக மாற்றுவதில் சிரமம் உள்ளது.
மற்ற வடிவமைப்பு அம்சங்களில் அதன் செயல்திறன் இருந்தபோதிலும், மேக்ரோ அறிவியல் பெயர்களை விரும்பிய வாக்கிய வழக்குக்கு மாற்றத் தவறிவிட்டது. இந்த கட்டுரை சிக்கல் மற்றும் சாத்தியமான தீர்வுகளை ஆராய்கிறது, அனைத்து அறிவியல் பெயர்களும் சரியான வடிவமைப்பு தரநிலைகளை கடைபிடிப்பதை உறுதி செய்வதை நோக்கமாகக் கொண்டுள்ளது.
| கட்டளை | விளக்கம் |
|---|---|
| Application.FileDialog(msoFileDialogFilePicker) | ஒரு கோப்பைத் தேர்ந்தெடுக்க கோப்பு உரையாடல் பெட்டியைத் திறக்கிறது, இந்த விஷயத்தில், எக்செல் பணிப்புத்தகம். |
| GetObject("", "Excel.Application") | எக்செல் ஏற்கனவே இயங்கினால், ஏற்கனவே உள்ள உதாரணத்தைப் பெறுகிறது. |
| CreateObject("Excel.Application") | எக்செல் ஏற்கனவே இயங்கவில்லை என்றால் புதிய நிகழ்வை உருவாக்குகிறது. |
| xlbook.Workbooks.Open(strSource) | தேர்ந்தெடுக்கப்பட்ட எக்செல் பணிப்புத்தகத்தைத் திறக்கும். |
| xlsheet.Range("A1").CurrentRegion.Value | Excel தாளில் செல் A1 இலிருந்து தற்போதைய பகுதியின் மதிப்பைப் பெறுகிறது. |
| Selection.HomeKey wdStory | தேர்வை ஆவணத்தின் தொடக்கத்திற்கு நகர்த்துகிறது. |
| Selection.Find.ClearFormatting | கண்டறிதல் செயல்பாட்டில் முந்தைய வடிவமைப்பு அமைப்புகளை அழிக்கும். |
| StrConv(rng.Text, vbProperCase) | வரம்பில் உள்ள உரையை சரியான வழக்குக்கு (தலைப்பு வழக்கு) மாற்றுகிறது. |
அறிவியல் பெயர் வடிவமைப்பிற்கான VBA மேக்ரோவைப் புரிந்துகொள்வது
வழங்கப்பட்ட VBA மேக்ரோ, எக்செல் தாளில் இருந்து தரவைப் பயன்படுத்தி ஒரு வேர்ட் ஆவணத்தில் அறிவியல் பெயர்களை வடிவமைக்கும் செயல்முறையை தானியக்கமாக்க வடிவமைக்கப்பட்டுள்ளது. கோப்பு உரையாடல் பெட்டியைத் திறப்பதன் மூலம் ஸ்கிரிப்ட் தொடங்குகிறது (Application.FileDialog(msoFileDialogFilePicker)) வடிவமைக்கப்பட வேண்டிய அறிவியல் பெயர்களைக் கொண்ட எக்செல் பணிப்புத்தகத்தைத் தேர்ந்தெடுக்க பயனரை அனுமதிக்கும். எக்செல் பயன்படுத்தும் தற்போதைய நிகழ்வுடன் இணைக்க முயற்சிக்கிறது GetObject("", "Excel.Application") அல்லது எக்செல் ஏற்கனவே இயங்கவில்லை என்றால் புதிய நிகழ்வை உருவாக்குகிறது (CreateObject("Excel.Application")) பணிப்புத்தகம் திறக்கப்பட்டதும், மேக்ரோ குறிப்பிட்ட வரம்பிலிருந்து தரவைப் படிக்கிறது (xlsheet.Range("A1").CurrentRegion.Value) மேலும் செயலாக்கத்திற்காக அதை ஒரு வரிசையில் சேமிக்கிறது.
வரிசையில் உள்ள ஒவ்வொரு அறிவியல் பெயருக்கும், மேக்ரோ பயன்படுத்துகிறது Selection.Find Word ஆவணத்தில் உள்ள சொல்லைத் தேட பொருள். ஒரு பொருத்தம் கண்டறியப்பட்டால், ஸ்கிரிப்ட் உரைக்கு பல்வேறு வடிவமைப்பு விருப்பங்களைப் பயன்படுத்துகிறது, அதாவது சாய்வு (rng.Font.Italic = True), தைரியமான (rng.Font.Bold = True), எழுத்துரு நிறத்தை மாற்றுதல் (rng.Font.Color = RGB(200, 187, 0)), மற்றும் எழுத்துரு வகையை டைம்ஸ் நியூ ரோமன் (rng.Font.Name = "Times New Roman") இந்த மேக்ரோவின் முக்கிய அம்சம் உரையை வாக்கிய வழக்காக மாற்ற முயற்சிக்கிறது rng.Case = wdTitleSentence, இது துரதிருஷ்டவசமாக நோக்கம் போல் வேலை செய்யவில்லை. உரையை கைமுறையாக சரியான வழக்குக்கு மாற்றுவதன் மூலம் மாற்று அணுகுமுறையையும் ஸ்கிரிப்ட் கொண்டுள்ளது StrConv(rng.Text, vbProperCase).
VBA மேக்ரோ, வேர்டில் அறிவியல் பெயர்கள் வடிவமைப்பை மேம்படுத்த
Word மற்றும் Excel க்கான பயன்பாடுகளுக்கான விஷுவல் பேசிக் (VBA).
Sub format_scientific_names()Dim xlapp As ObjectDim xlbook As ObjectDim xlsheet As ObjectDim myarray As VariantDim FD As FileDialogDim strSource As StringDim i As Long, lognum As LongSet FD = Application.FileDialog(msoFileDialogFilePicker)With FD.Title = "Select the workbook that contains the terms to be italicized".Filters.Clear.Filters.Add "Excel Workbooks", "*.xlsx".AllowMultiSelect = FalseIf .Show = -1 ThenstrSource = .SelectedItems(1)ElseMsgBox "You did not select the workbook that contains the data"Exit SubEnd IfEnd WithOn Error Resume NextSet xlapp = GetObject("", "Excel.Application")If Err ThenbstartApp = TrueSet xlapp = CreateObject("Excel.Application")End IfOn Error GoTo 0Set xlbook = xlapp.Workbooks.Open(strSource)Set xlsheet = xlbook.Worksheets(1)myarray = xlsheet.Range("A1").CurrentRegion.ValueIf bstartApp = True Then xlapp.QuitSet xlapp = NothingSet xlbook = NothingSet xlsheet = NothingFor i = LBound(myarray) To UBound(myarray)Selection.HomeKey wdStorySelection.Find.ClearFormattingWith Selection.FindDo While .Execute(FindText:=myarray(i, 1), Forward:=True, _MatchWildcards:=True, Wrap:=wdFindStop, MatchCase:=False) = TrueSet rng = Selection.RangeSelection.Collapse wdCollapseEndrng.Font.Italic = Truerng.Font.Bold = Truerng.Font.Color = RGB(200, 187, 0)rng.Font.Name = "Times New Roman"rng.Text = StrConv(rng.Text, vbProperCase)LoopEnd WithNext iEnd Sub
எக்செல் டேட்டாவிலிருந்து கேஸைப் பெற VBA ஸ்கிரிப்ட்
எக்செல் மற்றும் வேர்ட் ஒருங்கிணைப்புக்கான VBA
Sub format_scientific_names_inherit_case()Dim xlapp As ObjectDim xlbook As ObjectDim xlsheet As ObjectDim myarray As VariantDim FD As FileDialogDim strSource As StringDim i As Long, lognum As LongSet FD = Application.FileDialog(msoFileDialogFilePicker)With FD.Title = "Select the workbook that contains the terms to be italicized".Filters.Clear.Filters.Add "Excel Workbooks", "*.xlsx".AllowMultiSelect = FalseIf .Show = -1 ThenstrSource = .SelectedItems(1)ElseMsgBox "You did not select the workbook that contains the data"Exit SubEnd IfEnd WithOn Error Resume NextSet xlapp = GetObject("", "Excel.Application")If Err ThenbstartApp = TrueSet xlapp = CreateObject("Excel.Application")End IfOn Error GoTo 0Set xlbook = xlapp.Workbooks.Open(strSource)Set xlsheet = xlbook.Worksheets(1)myarray = xlsheet.Range("A1").CurrentRegion.ValueIf bstartApp = True Then xlapp.QuitSet xlapp = NothingSet xlbook = NothingSet xlsheet = NothingFor i = LBound(myarray) To UBound(myarray)Selection.HomeKey wdStorySelection.Find.ClearFormattingWith Selection.FindDo While .Execute(FindText:=myarray(i, 1), Forward:=True, _MatchWildcards:=True, Wrap:=wdFindStop, MatchCase:=False) = TrueSet rng = Selection.RangeSelection.Collapse wdCollapseEndrng.Text = myarray(i, 1)rng.Font.Italic = Truerng.Font.Bold = Truerng.Font.Color = RGB(200, 187, 0)rng.Font.Name = "Times New Roman"LoopEnd WithNext iEnd Sub
Word இல் உரையை வடிவமைப்பதற்கான மேம்பட்ட VBA நுட்பங்கள்
வேர்ட் ஆவணங்களில் உரையை வடிவமைக்க VBA மேக்ரோக்களுடன் பணிபுரியும் போது, எளிமையான வடிவமைப்பு கட்டளைகளுக்கு அப்பால் கருத்தில் கொள்ள வேண்டிய பல அம்சங்கள் உள்ளன. குறிப்பாக அறிவியல் பெயர்கள் போன்ற குறிப்பிட்ட பெயரிடலைக் கையாளும் போது, உரை வழக்கு சரியாகக் கையாளப்படுவதை உறுதிசெய்வது ஒரு முக்கிய அம்சமாகும். எக்செல் இலிருந்து தரவை ஒருங்கிணைத்து, Word இல் பல்வேறு வடிவமைப்பு விருப்பங்களைப் பயன்படுத்தும் மேக்ரோ ஆவணம் தயாரிப்பை கணிசமாக மேம்படுத்தும். இருப்பினும், வாக்கிய வழக்கு போன்ற சரியான உரை வழக்கை அடைவது சவாலாக இருக்கலாம். வழக்கை மாற்றுவதற்கு இயல்புநிலை VBA செயல்படுவதால் இந்த சிக்கல் அடிக்கடி எழுகிறது wdUpperCase மற்றும் wdLowerCase, மேலும் நுணுக்கமான உரை வழக்கு சரிசெய்தல்களுக்கான தேவைகளை எப்போதும் பூர்த்தி செய்ய வேண்டாம்.
மற்றொரு அணுகுமுறையானது, தனிப்பயன் செயல்பாடுகளைப் பயன்படுத்துதல் அல்லது Word க்கு தரவை மாற்றுவதற்கு முன் உரை வழக்கை நிர்வகிப்பதற்கு Excel இன் திறன்களை மேம்படுத்துதல் ஆகியவை அடங்கும். எடுத்துக்காட்டாக, வேர்ட் மேக்ரோவை இயக்குவதற்கு முன் எக்செல் இல் அறிவியல் பெயர்கள் சரியாக வடிவமைக்கப்பட்டுள்ளன என்பதை உறுதிசெய்வது நேரத்தை மிச்சப்படுத்துவதோடு பிழைகளைக் குறைக்கும். VBA கள் StrConv சரங்களை பல்வேறு நிகழ்வுகளுக்கு மாற்றும் செயல்பாடு பயனுள்ளதாக இருக்கும் ஆனால் கவனமாக செயல்படுத்த வேண்டும். கூடுதலாக, எவ்வாறு கையாள்வது என்பதைப் புரிந்துகொள்வது Selection.Find உரையை துல்லியமாகக் கண்டறிவதற்கும் மாற்றுவதற்கும் பொருள் திறம்பட அவசியம். பிழை கையாளுதலை இணைத்து, மேக்ரோ பல்வேறு உரைக் காட்சிகளைக் கையாள முடியும் என்பதை உறுதிப்படுத்துவது மிகவும் வலுவான மற்றும் நம்பகமான ஆட்டோமேஷனுக்கு வழிவகுக்கும்.
உரை வடிவமைப்பிற்கான VBA மேக்ரோக்கள் பற்றிய பொதுவான கேள்விகள்
- VBA இல் கோப்பு உரையாடலை எவ்வாறு திறப்பது?
- பயன்படுத்தவும் Application.FileDialog(msoFileDialogFilePicker) கோப்பு உரையாடலைத் திறந்து, ஒரு கோப்பைத் தேர்ந்தெடுக்க பயனர்களை அனுமதிக்கவும்.
- விபிஏவில் எக்செல் உதாரணத்தை நான் எவ்வாறு பெறுவது?
- நீங்கள் பயன்படுத்தலாம் GetObject("", "Excel.Application") Excel இன் தற்போதைய உதாரணத்தைப் பெற அல்லது CreateObject("Excel.Application") புதிய ஒன்றை உருவாக்க.
- VBA இல் எக்செல் பணிப்புத்தகத்தை எவ்வாறு திறப்பது?
- பயன்படுத்தவும் xlbook.Workbooks.Open("filePath") குறிப்பிட்ட கோப்பு பாதையில் இருந்து எக்செல் பணிப்புத்தகத்தைத் திறக்க.
- VBA இல் எக்செல் இலிருந்து தரவு வரம்பைப் படிக்க சிறந்த வழி எது?
- பயன்படுத்தி xlsheet.Range("A1").CurrentRegion.Value செல் A1 இலிருந்து தொடங்கும் தாளின் தற்போதைய முழுப் பகுதியையும் வரிசையாகப் படிக்கிறது.
- VBA இல் வேர்ட் ஆவணத்தின் தொடக்கத்திற்கு கர்சரை எவ்வாறு நகர்த்துவது?
- கட்டளை Selection.HomeKey wdStory தேர்வை ஆவணத்தின் தொடக்கத்திற்கு நகர்த்துகிறது.
- VBA இல் Selection.Find.ClearFormatting என்ன செய்கிறது?
- கண்டுபிடிப்புச் செயல்பாட்டிற்குப் பயன்படுத்தப்பட்ட முந்தைய வடிவமைப்பு அமைப்புகளை இது அழித்து, புதிய தேடலை உறுதி செய்கிறது.
- VBA இல் உரையை எப்படி சரியான கேஸுக்கு மாற்றுவது?
- பயன்படுத்த StrConv(text, vbProperCase) உரையை சரியான வழக்குக்கு மாற்றுவதற்கான செயல்பாடு.
- VBA இல் உரைக்கு பல வடிவமைப்பு விருப்பங்களைப் பயன்படுத்துவது எப்படி?
- சாய்வு, தடிமனான மற்றும் எழுத்துரு வண்ணம் போன்ற பல்வேறு வடிவமைப்பை நீங்கள் பயன்படுத்தலாம் rng.Font.Italic = True, rng.Font.Bold = True, மற்றும் rng.Font.Color = RGB(200, 187, 0).
முடிவு மற்றும் அடுத்த படிகள்
சுருக்கமாக, Word ஆவணங்களில் அறிவியல் பெயர்களை வடிவமைக்க VBA மேக்ரோவை உருவாக்குவது, Excel இலிருந்து தரவை மீட்டெடுப்பது மற்றும் பல வடிவமைப்பு விருப்பங்களைப் பயன்படுத்துவது உட்பட பல படிகளை உள்ளடக்கியது. மேக்ரோ எழுத்துரு பாணிகளையும் வண்ணங்களையும் திறம்பட மாற்ற முடியும் என்றாலும், வாக்கிய வழக்கு வடிவமைப்பை அடைவது ஒரு சவாலாகவே உள்ளது. எதிர்கால மேம்பாடுகளில் தனிப்பயன் செயல்பாடுகள் அல்லது நிலைத்தன்மையை உறுதிப்படுத்த எக்செல் இல் தரவு முன் வடிவமைத்தல் ஆகியவை அடங்கும். உரை வழக்கை முறையாகக் கையாள்வது, அறிவியல் ஆவணங்களின் வாசிப்புத்திறனையும், தொழில்முறைத் திறனையும் மேம்படுத்தும்.