ஷேர்பாயிண்ட்-இணைக்கப்பட்ட எக்செல் டெம்ப்ளேட்களில் பயனர் செயல்பாட்டைக் கண்காணித்தல்
பல பயனர்கள் ஒரே ஷேர்பாயிண்ட் டெம்ப்ளேட்டை அணுகி தங்கள் படிவங்களைச் சமர்ப்பிக்கும் ஒரு பரபரப்பான அலுவலகத்தை கற்பனை செய்து பாருங்கள். 🖥️ ஒரு குறிப்பிட்ட படிவத்தை பூர்த்தி செய்து சமர்ப்பித்தவர் யார் என்பதை ஆடிட்டர் அடையாளம் காண வேண்டியிருக்கும் போது சவால் எழுகிறது. ஷேர்பாயிண்ட் இந்தத் தகவலை "கிரியேட்டர்" நெடுவரிசையின் கீழ் பதிவு செய்யும் போது, எக்செல் தாளின் அடிக்குறிப்பில் பயனரின் பெயருடன் ஒரு கடின நகலை அச்சிட வேண்டிய அவசியம் நிறைவேறாமல் உள்ளது.
இயல்புநிலை VBA போன்ற செயல்பாடுகள் இருப்பதால் இந்த பணி தந்திரமானது பயன்பாடு. பயனர் பெயர் மற்றும் சூழல்("பயனர் பெயர்") உண்மையான பயனர் படிவத்தைத் திருத்துவதற்குப் பதிலாக, அசல் டெம்ப்ளேட் உருவாக்கியவரை அல்லது உள்ளூர் இயந்திரப் பயனரை அடிக்கடி சுட்டிக்காட்டவும். எனவே, சரியான பயனர்பெயரை மாறும் வகையில் செருகுவதற்கான நம்பகமான முறையைக் கண்டுபிடிப்பது முக்கியமானது.
நிஜ-உலக சூழ்நிலைகளில், இந்த முரண்பாடு தணிக்கை மற்றும் கண்காணிப்பில் தவறுகளுக்கு வழிவகுக்கும். எடுத்துக்காட்டாக, எனது முந்தைய பாத்திரத்தில், வெளிப்புற ஒப்பந்ததாரர்களால் பூர்த்தி செய்யப்பட்ட படிவங்கள் எப்போதும் பிரிண்ட்அவுட்டில் நிர்வாகியின் பயனர்பெயரைக் காட்டுவதில் எங்களுக்கு ஒரு சிக்கல் இருந்தது, இது தணிக்கையின் போது குறிப்பிடத்தக்க குழப்பத்தை ஏற்படுத்துகிறது.
VBA, ஷேர்பாயிண்ட் ஒருங்கிணைப்பு மற்றும் சில ஸ்மார்ட் கிறுக்கல்கள் ஆகியவற்றைப் பயன்படுத்தி இந்தத் தடைகளை எவ்வாறு கடந்து செல்லலாம் என்பதை இந்தக் கட்டுரை ஆராய்கிறது. முடிவில், ஒவ்வொரு அச்சிடப்பட்ட படிவமும் அதைச் சமர்ப்பித்த தனிப்பட்ட பயனரை சரியாகப் பிரதிபலிக்கும் நடைமுறை தீர்வை நீங்கள் பெறுவீர்கள். உள்ளே நுழைவோம்! 🔍
| கட்டளை | பயன்பாட்டின் உதாரணம் |
|---|---|
| ActiveSheet.PageSetup.LeftFooter | Excel இல் செயலில் உள்ள ஒர்க்ஷீட்டின் அடிக்குறிப்பைத் தனிப்பயனாக்கப் பயன்படுகிறது. இந்த சூழலில், இது ஒரு பயனர்பெயர் மற்றும் தேதியை அடிக்குறிப்பில் மாறும் வகையில் செருகுகிறது. |
| ListObjects.Add | "கிரியேட்டர்" புலம் போன்ற மெட்டாடேட்டாவைப் பெற, பணித்தாள் மற்றும் ஷேர்பாயிண்ட் ஆவண நூலகம் போன்ற வெளிப்புற தரவு மூலத்திற்கு இடையே இணைப்பை உருவாக்குகிறது. |
| CreateObject("MSXML2.XMLHTTP") | API அழைப்புகளைச் செய்வதற்கு HTTP கோரிக்கைப் பொருளைத் துவக்குகிறது. இந்த வழக்கில், இது ஷேர்பாயிண்ட் REST API இலிருந்து மெட்டாடேட்டாவை மீட்டெடுக்கிறது. |
| InStr | ஒரு சரத்திற்குள் ஒரு துணைச் சரத்தின் நிலையைக் கண்டறியும். இங்கே, ஷேர்பாயிண்ட் API இலிருந்து JSON பதிலில் "கிரியேட்டர்" புலத்தைக் கண்டறிய இது பயன்படுகிறது. |
| Mid | தொடக்க நிலை மற்றும் நீளத்தின் அடிப்படையில் ஒரு சரத்திலிருந்து துணைச் சரத்தைப் பிரித்தெடுக்கிறது. ஷேர்பாயிண்ட் API இன் JSON பதிலில் இருந்து பயனர்பெயரை அலசப் பயன்படுகிறது. |
| BuiltinDocumentProperties | ஆவணத்தைச் சேமித்த பயனரை மாறும் வகையில் அடையாளம் காண, "கிரியேட்டர்" சொத்து போன்ற எக்செல் பணிப்புத்தகத்தின் மெட்டாடேட்டா பண்புகளை அணுகுகிறது. |
| Range("A1") | ஷேர்பாயிண்ட் மெட்டாடேட்டா போன்ற வெளிப்புற மூலத்திலிருந்து பெறப்பட்ட தரவை வைப்பதற்கான தொடக்க கலத்தைக் குறிப்பிடுகிறது. |
| On Error Resume Next | பிழை ஏற்பட்டாலும் குறியீட்டைத் தொடர்ந்து செயல்படுத்த அனுமதிக்கிறது, மெட்டாடேட்டாவைப் பெறும்போது ஏற்படும் செயலிழப்புகளைத் தடுக்க இங்கே பயன்படுத்தப்படுகிறது. |
| responseText | API அழைப்பிலிருந்து HTTP பதிலின் உடலைப் பிரித்தெடுக்கிறது. இந்த வழக்கில், ஷேர்பாயிண்ட் REST API மூலம் வழங்கப்பட்ட JSON தரவை இது வைத்திருக்கிறது. |
| ParseJSONForCreator | JSON மறுமொழி சரத்திலிருந்து "கிரியேட்டர்" புலத்தின் மதிப்பைப் பிரித்தெடுப்பதற்கான தனிப்பயன் செயல்பாடு. |
டைனமிக் ஷேர்பாயிண்ட் பயனர்பெயர்களுடன் எக்செல் அடிக்குறிப்புகளைத் தனிப்பயனாக்குதல்
வழங்கப்பட்ட தீர்வுகள் மாறும் வகையில் பெற்றுக் காட்டுவதை நோக்கமாகக் கொண்டுள்ளன ஷேர்பாயிண்ட் "கிரியேட்டர்" எக்செல் பணித்தாளின் அடிக்குறிப்பில் உள்ள பயனர்பெயர். ஷேர்பாயிண்டில் சேமிக்கப்பட்ட பகிரப்பட்ட டெம்ப்ளேட்டின் அடிப்படையில் பல பயனர்கள் படிவங்களைச் சமர்ப்பிக்கும் சூழ்நிலைகளில் இந்தத் தேவை எழுகிறது, மேலும் தணிக்கையாளர்களுக்கு தெளிவான பண்புக்கூறு தேவைப்படுகிறது. முதல் ஸ்கிரிப்ட் எக்செல் இன் சொந்தத்தைப் பயன்படுத்துகிறது பக்க அமைவு அடிக்குறிப்பை மாறும் வகையில் தனிப்பயனாக்குவதற்கான செயல்பாடு. ஷேர்பாயிண்ட் மெட்டாடேட்டா அணுகலுடன் VBA முறைகளை இணைப்பதன் மூலம், இந்த ஸ்கிரிப்ட், அடிக்குறிப்பு, படிவத்தை பூர்த்தி செய்த பயனரின் பயனர்பெயரை பிரதிபலிக்கிறது என்பதை உறுதி செய்கிறது.
உதாரணமாக, முதல் தீர்வு உதவுகிறது ListObjects.சேர் ஷேர்பாயிண்ட் ஆவண நூலகத்துடன் நேரடி இணைப்பை ஏற்படுத்த. இந்த கட்டளை மெட்டாடேட்டாவை பணிப்புத்தகத்திற்கு இழுக்கிறது, இது வரிசைகள் மூலம் மீண்டும் மீண்டும் "உருவாக்கியவர்" புலத்தை பிரித்தெடுக்கிறது. ஒரு துறை இணக்கப் படிவங்களைச் சமர்ப்பிப்பதை கற்பனை செய்து பாருங்கள்-ஒவ்வொரு சமர்ப்பிப்பின் அடிக்குறிப்பும் பொறுப்பான பணியாளரைத் தெளிவாகக் கண்டறிந்து, தணிக்கை தெளிவின்மைகளை நீக்கும். இந்த முறை நெகிழ்வுத்தன்மையை உறுதி செய்கிறது மற்றும் படிவ பங்களிப்பாளர்களை அடையாளம் காண்பதில் கைமுறையான தலையீட்டைத் தடுக்கிறது. 🚀
இரண்டாவது அணுகுமுறை ஷேர்பாயின்ட்டின் REST APIயைப் பயன்படுத்திக் கொள்கிறது. பயன்படுத்துவதன் மூலம் CreateObject("MSXML2.XMLHTTP") கட்டளை, ஸ்கிரிப்ட் நேரடியாக மெட்டாடேட்டாவைப் பெற HTTP கோரிக்கையைத் தொடங்குகிறது. ஷேர்பாயிண்ட் நூலகங்கள் சிக்கலான அல்லது பல புலங்களைக் கொண்டிருக்கும் சூழல்களில் இந்த முறை மிகவும் பயனுள்ளதாக இருக்கும். போன்ற செயல்பாடுகளுடன் JSON பதிலைப் பாகுபடுத்துகிறது InStr மற்றும் நடு "உருவாக்கியவர்" புலத்தை துல்லியமாக பிரித்தெடுக்க அனுமதிக்கிறது. எனது கடந்த காலப் பாத்திரத்தில், இதேபோன்ற ஸ்கிரிப்ட் படிவக் கண்காணிப்பை ஒழுங்குபடுத்தியது, ஒவ்வொரு மாதமும் கைமுறையாக சமரசம் செய்வதில் மணிநேரங்களைச் சேமிக்கிறது. 🖋️
இறுதி ஸ்கிரிப்ட் Office 365 பண்புகளை ஒருங்கிணைக்கிறது பில்டின் டாகுமென்ட் பண்புகள் பணிப்புத்தகத்தின் மெட்டாடேட்டாவை நேரடியாக அணுகுவதற்கான கட்டளை. இந்த ஸ்கிரிப்ட் ஆஃபீஸ் 365ஐ அதிகமாகப் பயன்படுத்தும் நிறுவனங்களுக்கு மிகவும் பொருத்தமானது மற்றும் REST API சிக்கல்கள் இல்லாமல் இலகுரக தீர்வு தேவைப்படும். ஒவ்வொரு ஸ்கிரிப்டும் மட்டு அம்சங்களைக் கொண்டுள்ளது, மற்ற ஷேர்பாயிண்ட்-ஒருங்கிணைந்த பணிப்பாய்வுகளுக்கு அவற்றை மீண்டும் பயன்படுத்தக்கூடியதாக ஆக்குகிறது. உதாரணமாக, சமர்ப்பிப்பு நேர முத்திரைகள் அல்லது துறைப் பெயர்களைச் சேர்க்க அவற்றை நீங்கள் மாற்றியமைத்து, அவற்றின் தணிக்கைப் பயன்பாட்டை மேலும் மேம்படுத்தலாம்.
தீர்வு 1: ஷேர்பாயிண்ட் மெட்டாடேட்டா வழியாக பயனர் பெயரைப் பிரித்தெடுத்தல்
ஷேர்பாயிண்ட் மெட்டாடேட்டாவிலிருந்து "கிரியேட்டர்" புலத்தை மாறும் வகையில் பெற்று எக்செல் அடிக்குறிப்பில் சேர்க்க VBA ஐப் பயன்படுத்துதல்.
Sub AddUsernameFromSharePoint()Dim ws As WorksheetDim sharePointUsername As StringDim listObj As ObjectDim spURL As StringDim row As ObjectOn Error Resume Next' Set your SharePoint site and library path herespURL = "https://your-sharepoint-site/documents/"Set ws = ActiveSheet' Access metadata of the current workbook in SharePointSet listObj = ws.ListObjects.Add(SourceType:=xlSrcExternal,Source:=spURL,Destination:=Range("A1"))' Loop through rows to find "creator"For Each row In listObj.ListRowsIf row.Range(1, 1).Value = "creator" ThensharePointUsername = row.Range(1, 2).ValueExit ForEnd IfNext row' Update footer with usernamews.PageSetup.LeftFooter = "SUBMITTED BY: " & sharePointUsername & " on " & DateOn Error GoTo 0End Sub
தீர்வு 2: SharePoint REST API ஐப் பயன்படுத்தி பயனர் பெயரைப் பெறுதல்
"கிரியேட்டர்" புலத்திலிருந்து பயனர்பெயரை மீட்டெடுக்க ஷேர்பாயின்ட்டின் REST API உடன் Excel VBA ஐ ஒருங்கிணைக்கிறது.
Sub FetchUsernameWithAPI()Dim http As ObjectDim jsonResponse As StringDim username As StringDim ws As WorksheetSet http = CreateObject("MSXML2.XMLHTTP")Set ws = ActiveSheet' API endpoint to fetch metadataapiURL = "https://your-sharepoint-site/_api/web/lists/getbytitle('Documents')/items"' Make GET requesthttp.Open "GET", apiURL, Falsehttp.setRequestHeader "Accept", "application/json;odata=verbose"http.Send' Parse response for "creator" fieldjsonResponse = http.responseTextusername = ParseJSONForCreator(jsonResponse)' Add username to footerws.PageSetup.LeftFooter = "SUBMITTED BY: " & username & " on " & DateEnd SubFunction ParseJSONForCreator(jsonResponse As String) As String' Basic parsing logic to extract "creator" valueDim pos As IntegerDim creatorValue As Stringpos = InStr(jsonResponse, """creator"":")creatorValue = Mid(jsonResponse, pos + 10, InStr(pos + 10, jsonResponse, ",") - pos - 10)ParseJSONForCreator = creatorValueEnd Function
தீர்வு 3: VBA ஒருங்கிணைப்புடன் Office 365 ஆன்லைன் அம்சங்களைப் பயன்படுத்துதல்
Excel இன் VBA திறன்களை Office 365 ஆன்லைன் அம்சங்களுடன் ஒரு தடையற்ற ஷேர்பாயிண்ட் ஒருங்கிணைப்புக்கு இணைத்தல்.
Sub AddFooterFromO365()Dim ws As WorksheetDim o365User As StringSet ws = ActiveSheet' Assume user is logged in to Office 365o365User = Application.UserName' Fetch creator data from workbook propertiesIf ActiveWorkbook.BuiltinDocumentProperties("Creator") <> "" Theno365User = ActiveWorkbook.BuiltinDocumentProperties("Creator")End If' Add to footerws.PageSetup.LeftFooter = "SUBMITTED BY: " & o365User & " on " & DateEnd Sub
மேம்படுத்தப்பட்ட தணிக்கைக்காக ஷேர்பாயிண்ட் தரவை Excel VBA உடன் ஒருங்கிணைத்தல்
ஷேர்பாயிண்ட் உடன் எக்செல் ஒருங்கிணைப்பதில் அடிக்கடி கவனிக்கப்படாத ஒரு அம்சம் இரண்டு தளங்களுக்கிடையில் மெட்டாடேட்டாவின் தடையற்ற ஓட்டமாகும். VBA ஐப் பயன்படுத்தி, அடிப்படை ஆட்டோமேஷனைத் தாண்டி முக்கியமான மெட்டாடேட்டா புலங்களைப் பிரித்தெடுக்கலாம். பயனர் பெயர் தனிநபரின் டெம்ப்ளேட்டை முடித்து, தனிப்பயன் Excel அடிக்குறிப்புகள் அல்லது தலைப்புகளில் அவற்றைப் பயன்படுத்தவும். இணங்குதல் போன்ற சூழ்நிலைகளில் இந்தச் செயல்பாடு மிகவும் அவசியமானது, சமர்ப்பிக்கப்பட்ட ஒவ்வொரு படிவமும் அதன் நிறைவுக்கு பொறுப்பான நபருக்கு தெளிவான பண்புக்கூறு தேவைப்படுகிறது.
மற்றொரு பயனுள்ள அணுகுமுறை ஷேர்பாயின்ட்டின் விரிவான மெட்டாடேட்டா திறன்களை மேம்படுத்துவதை உள்ளடக்கியது. உதாரணமாக, "மாற்றியமைத்தது" அல்லது "கடைசியாக மாற்றப்பட்டது" போன்ற நெடுவரிசைகள் கண்காணிப்பு மற்றும் சரிபார்ப்புக்கான கூடுதல் சூழலை வழங்கலாம். VBA மூலம் இந்தத் தரவை மாறும் வகையில் இழுப்பதன் மூலம், உங்கள் எக்செல் டெம்ப்ளேட்கள் துல்லியமான பயனர் தகவலைப் பிரதிபலிப்பது மட்டுமல்லாமல், கைமுறையாக உள்ளீடு பிழைகள் ஏற்படுவதற்கான வாய்ப்பையும் குறைக்கிறது. பல பயனர்கள் பகிரப்பட்ட டெம்ப்ளேட்களில் ஒத்துழைக்கும் குழு திட்டங்களில் இந்த அம்சம் மிகவும் மதிப்புமிக்கது. 🖇️
இறுதியாக, நிறுவனங்கள் ஷேர்பாயிண்ட்டை எவ்வாறு பயன்படுத்துகின்றன என்பதில் சாத்தியமான மாறுபாடுகளைக் கணக்கிடுவது முக்கியம். சில தனிப்பயன் நெடுவரிசைகள் அல்லது மெட்டாடேட்டா புலங்களைக் கொண்டிருக்கலாம், மாற்றியமைக்கக்கூடிய VBA ஸ்கிரிப்டுகள் தேவைப்படுகின்றன. தரவு வடிவமைப்பிலிருந்து API அழைப்புகளைப் பிரிப்பது போன்ற மாடுலர் குறியீட்டு நடைமுறைகள், உங்கள் தீர்வு அத்தகைய மாறுபாடுகளை அளவிடவோ அல்லது சரிசெய்யவோ முடியும் என்பதை உறுதிப்படுத்துகிறது. எடுத்துக்காட்டாக, கடந்த கால திட்டத்தில், ஷேர்பாயிண்டிலிருந்து நேரடியாக எக்செல் பணிப்புத்தகங்களில் பயனர் செயல்பாடுகளை ஒருங்கிணைக்கும் சுருக்க அறிக்கைகளை தானாக உருவாக்க இந்த அணுகுமுறையைப் பயன்படுத்தினோம். 🚀
ஷேர்பாயிண்ட் மற்றும் விபிஏ ஒருங்கிணைப்பு பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்
- VBA ஐப் பயன்படுத்தி எக்செல் இல் டைனமிக் முறையில் ஒரு பயனர்பெயரைப் பெறுவது எப்படி?
- பயன்படுத்துவதன் மூலம் CreateObject("MSXML2.XMLHTTP"), நீங்கள் ஷேர்பாயின்ட்டின் REST API ஐ அழைத்து அதை அலசலாம் "creator" மெட்டாடேட்டா புலம்.
- ஏன் செய்கிறது Application.UserName அசல் படைப்பாளரின் பெயரைத் திருப்பித் தரவா?
- இந்த கட்டளையானது உள்ளூர் எக்செல் நிறுவலுடன் தொடர்புடைய பயனரின் பெயரை மீட்டெடுக்கிறது, இது ஷேர்பாயிண்ட் டெம்ப்ளேட்டை அணுகும் பயனருடன் பொருந்தாது.
- VBA இல் JSON பதில்களை அலசுவதற்கான சிறந்த வழி எது?
- கலவையைப் பயன்படுத்துதல் InStr மற்றும் Mid, JSON பதிலில் இருந்து "கிரியேட்டர்" போன்ற குறிப்பிட்ட தரவுப் புலங்களைப் பிரித்தெடுக்கலாம்.
- எக்செல் அடிக்குறிப்பில் "கடைசியாக மாற்றப்பட்டது" போன்ற ஷேர்பாயிண்ட் புலங்களைச் சேர்க்க முடியுமா?
- ஆம், SharePoint இன் API ஐப் பயன்படுத்தி பல மெட்டாடேட்டா புலங்களைப் பெற உங்கள் ஸ்கிரிப்டை விரிவாக்கலாம் மற்றும் அவற்றை Excel இல் சேர்ப்பதற்காக வடிவமைக்கலாம் PageSetup.
- பல டெம்ப்ளேட்டுகளுக்கு இந்த செயல்முறையை தானியக்கமாக்குவது சாத்தியமா?
- முற்றிலும். ஷேர்பாயிண்டில் சேமிக்கப்பட்டுள்ள பல டெம்ப்ளேட்கள் மூலம் லூப் செய்யும் ஸ்கிரிப்டை நீங்கள் வடிவமைக்கலாம், ஒவ்வொன்றிற்கும் பயனர்-குறிப்பிட்ட தரவுகளுடன் அடிக்குறிப்பைப் புதுப்பிக்கலாம்.
டைனமிக் அடிக்குறிப்பு தனிப்பயனாக்கம் குறித்த இறுதி எண்ணங்கள்
ஷேர்பாயிண்ட் டெம்ப்ளேட்டை நிறைவு செய்யும் நபரின் பயனர்பெயர் எக்செல் அடிக்குறிப்பில் துல்லியமாகக் காட்டப்படுவதை உறுதிசெய்வது, பொறுப்பு மற்றும் கண்டறியும் தன்மை ஆகிய இரண்டையும் மேம்படுத்துகிறது. VBA ஸ்கிரிப்ட்களை மேம்படுத்தும் தீர்வுகள் இந்தத் தேவையை நிவர்த்தி செய்ய தனிப்பயனாக்கக்கூடிய மற்றும் அளவிடக்கூடிய அணுகுமுறைகளை வழங்குகின்றன.
APIகள் போன்ற மேம்பட்ட மெட்டாடேட்டா மீட்டெடுப்பு முறைகளை ஒருங்கிணைப்பதன் மூலம் அல்லது உள்ளமைக்கப்பட்ட ஆவணப் பண்புகளைப் பயன்படுத்துவதன் மூலம், நிறுவனங்கள் பணிப்பாய்வுகளை திறம்பட தானியக்கமாக்க முடியும். இது நேரத்தை மிச்சப்படுத்துவது மட்டுமல்லாமல் துல்லியமான தணிக்கையை உறுதி செய்கிறது, இணக்கம்-கனரக தொழில்களில் முக்கியமானது. 🚀
VBA மற்றும் ஷேர்பாயிண்ட் ஒருங்கிணைப்புக்கான குறிப்புகள் மற்றும் ஆதாரங்கள்
- எக்செல் அடிக்குறிப்புகளை மாறும் வகையில் கையாள VBA ஐ எவ்வாறு பயன்படுத்துவது என்பதை விவரிக்கிறது: மைக்ரோசாப்ட் VBA ஆவணம்
- மெட்டாடேட்டா மீட்டெடுப்பிற்கான ஷேர்பாயின்ட்டின் REST API திறன்களை விளக்குகிறது: Microsoft SharePoint REST API வழிகாட்டி
- ஷேர்பாயிண்ட் பணிப்பாய்வு மற்றும் டெம்ப்ளேட் மேலாண்மை பற்றிய நுண்ணறிவுகளை வழங்குகிறது: ஷேர்கேட் - ஷேர்பாயிண்ட் மெட்டாடேட்டா சிறந்த நடைமுறைகள்
- மேம்பட்ட API பதில்களுக்கு VBA இல் JSON பாகுபடுத்தலைப் பற்றி விவாதிக்கிறது: எக்செல் மேக்ரோ ப்ரோ - JSON பாகுபடுத்துதல்