मैं वर्तमान उपयोगकर्ता भाषा को vba प्रोग्राम में कैसे बता सकता हूं?वर्तमान उपयोगकर्ता भाषा खोजें
मुझे उचित भाषा में एक फॉर्म दिखाने के लिए इसकी आवश्यकता है।
मैं वर्तमान उपयोगकर्ता भाषा को vba प्रोग्राम में कैसे बता सकता हूं?वर्तमान उपयोगकर्ता भाषा खोजें
मुझे उचित भाषा में एक फॉर्म दिखाने के लिए इसकी आवश्यकता है।
मेरे प्रारंभिक कोड (इस vbforum code उपयोग) ग्रहण Windows और एक्सेल एक ही भाषा बोलने कि - संभावना लेकिन बुलेटप्रूफ नहीं।
अद्यतन
संशोधित कोड:
कोड मेरी मशीन पर
नमूना उत्पादन उपयोगकर्ता पता अगर वहाँ, या देश का नाम पार्स करने में LCID वेबसाइट तक पहुँचने में कोई त्रुटि है करने देगा।
Sub GetXlLang()
Dim lngCode As Long
lngCode = Application.LanguageSettings.LanguageID(msoLanguageIDUI)
MsgBox "Code is: " & lngCode & vbNewLine & GetTxt(lngCode)
End Sub
Function GetTxt(ByVal lngCode) As String
Dim objXmlHTTP As Object
Dim objRegex As Object
Dim objRegMC As Object
Dim strResponse As String
Dim strSite As String
Set objXmlHTTP = CreateObject("MSXML2.XMLHTTP")
strSite = "http://msdn.microsoft.com/en-us/goglobal/bb964664"
On Error GoTo ErrHandler
With objXmlHTTP
.Open "GET", strSite, False
.Send
If .Status = 200 Then strResponse = .ResponseText
End With
On Error GoTo 0
strResponse = Replace(strResponse, "</td><td>", vbNullString)
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Pattern = "><td>([a-zA-Z- ]+)[A-Fa-f0-9]{4}" & lngCode
If .Test(strResponse) Then
Set objRegMC = .Execute(strResponse)
GetTxt = objRegMC(0).submatches(0)
Else
GetTxt = "Value not found from " & strSite
End If
End With
Set objRegex = Nothing
Set objXmlHTTP = Nothing
Exit Function
ErrHandler:
If Not objXmlHTTP Is Nothing Then Set objXmlHTTP = Nothing
GetTxt = strSite & " unable to be accessed"
End Function
बहुत बहुत धन्यवाद। यह वही करता है जो मैं ढूंढ रहा था। मैंने स्थानीय स्वतंत्र मूल्य प्राप्त करने के लिए LOCALE_SISO639LANGNAME = & H59 के साथ LOCALE_SNATIVELANGNAME = और H4 को प्रतिस्थापित किया। – BetaRide
क्या आप लोग मुझे पहचानने के बाद उचित भाषा दिखाने के तरीके के बारे में मार्गदर्शन कर सकते हैं ... यदि आपके पास अलग-अलग संसाधन फ़ाइलें हैं ... तो इन फ़ाइलों को एक्सेल के वीबीए संपादक में कैसे बनाएं ... ??? –
dim lang_code as long
lang_code = Application.LanguageSettings.LanguageID(msoLanguageIDUI)
धन्यवाद, यह काम करता है। लेकिन मुझे बस एक संख्या मिलती है। मैं इस वास्तविक संख्या को कैसे देख सकता हूं? – BetaRide
आप यहां एलसीआईडी की एक सूची पा सकते हैं http://msdn.microsoft.com/en-us/goglobal/bb964664 –
@brettdj मुझे लगता है अधिक सामान्य 'excel' हमेशा एक उपयोगी टैग के रूप में अच्छी तरह से है, क्योंकि यह बनाता है भविष्य की खोजों आसान। – Fionnuala