Convert string to date
Function ConvertStringToDate(dateString As String) As Date
Dim parts() As String
parts = Split(dateString, ".")
If UBound(parts) = 2 Then
' parts(0) = day, parts(1) = month, parts(2) = year
ConvertStringToDate = DateSerial(CInt(parts(2)), CInt(parts(1)), CInt(parts(0)))
Else
Err.Raise vbObjectError + 1, , "Invalid date format."
End If
End Function
เคฏเคน VBA function ConvertStringToDate, Excel เคฏा Word เคฎें เคिเคธी text date (เคैเคธे "25.12.2025") เคो real Date value เคฎें convert เคเคฐเคคा เคนै।
เคฏเคน เคเคธ เคช्เคฐเคाเคฐ เคाเคฎ เคเคฐเคคा เคนै:
- เคฏเคน function, Split(dateString, ".") เคे เคธाเคฅ dot (.) เคो separator เคे เคฐूเคช เคฎें เคเคชเคฏोเค เคเคฐเคे input text เคो separate เคเคฐเคคा เคนै।
- เคฏเคน เคคीเคจ เคญाเคों เคो expect เคเคฐเคคा เคนै: day, month เคเคฐ year।
- เคฏเคฆि format เคธเคนी เคนै, เคคो เคฏเคน เคเคจ parts เคธे เคเค valid date เคฌเคจाเคจे เคे เคฒिเค DateSerial เคा เคเคชเคฏोเค เคเคฐเคคा เคนै।
- เคฏเคฆि format เคเคฒเคค เคนै (เคคीเคจ parts เคจเคนीं), เคคो เคฏเคน "Invalid date format" เคตाเคฒा เคเค error message raise เคเคฐเคคा เคนै।
เคฏเคน เคเคिเคค date conversion เคเคฐ validation เคธुเคจिเคถ्เคिเคค เคเคฐเคคा เคนै।
Remove Duplicate
Function RemoveDuplicates(arr As Variant) As Variant
Dim dict As Object
Dim item As Variant
Dim result() As Variant
Dim i As Long
Set dict = CreateObject("Scripting.Dictionary")
' Add unique items to dictionary
On Error Resume Next
For Each item In arr
If Not dict.exists(item) Then
dict.Add item, Nothing
End If
Next item
On Error GoTo 0
' Transfer dictionary keys to result array
ReDim result(1 To dict.Count) 'ReDim result(0 To dict.Count-1)
i = 1 'i=0
For Each item In dict.Keys
result(i) = item
i = i + 1
Next item
RemoveDuplicates = result
End Function
เคฏเคน VBA fuction RemoveDuplicates เคिเคธी array เคธे duplicate values เคो เคนเคाเคคा เคนै।
เคฏเคน เคเคธ เคช्เคฐเคाเคฐ เคाเคฎ เคเคฐเคคा เคนै:
- เคฏเคน เคเค dictionary object เคฌเคจाเคคा เคนै, เคो เคेเคตเคฒ unique keys store เคเคฐเคคा เคนै।
- Cod input array arr เคฎें เคช्เคฐเคค्เคฏेเค item เคे เคฎाเคง्เคฏเคฎ เคธे loop เคเคฐเคคा เคนै।
- เคฏเคฆि เคोเค item เคชเคนเคฒे เคธे dictionary เคฎें เคจเคนीं เคนै, เคคो เคฏเคน เคเคธे เคोเคก़ เคฆेเคคा เคนै। เคเคธเคธे duplicate automatic เคฐूเคช เคธे เคนเค เคाเคคे เคนैं।
- เคธเคญी unique items เคเคเคค्เคฐ เคเคฐเคจे เคे เคฌाเคฆ, เคฏเคน dictionary keys (unique values) เคो result เคจाเคฎเค เคเค เคจเค array เคฎें copy เคเคฐเคคा เคนै।
- เค ंเคค เคฎें, เคฏเคน เคेเคตเคฒ unique items เคตाเคฒी เคฏเคน result array เคฒौเคाเคคा เคนै।
เคฏเคน function VBA เคฎें duplicate data เคो เคธाเคซ़ เคเคฐเคจे เคे เคฒिเค เคเคชเคฏोเคी เคนै।
Get user ID
Public Function UserID()
UserID = Environ$("UserName")
End Function
เคฏเคน VBA function UserID, code เคเคฒाเคจे เคตाเคฒे เคต्เคฏเค्เคคि เคा current Windows username เคฒौเคाเคคा เคนै।
เคฏเคน เคเคธ เคช्เคฐเคाเคฐ เคाเคฎ เคเคฐเคคा เคนै:
- เคฏเคน function Environ$ command เคा เคเคชเคฏोเค เคเคฐเคคा เคนै, เคो computer เคे environment variables เคธे เคाเคจเคाเคฐी เคช्เคฐाเคช्เคค เคเคฐเคคा เคนै।
- "UserName" เคเค เคเคธा environment variable เคนै เคो logged-in user เคा เคจाเคฎ store เคเคฐเคคा เคนै।
- เคเคฌ function เคเคฒเคคा เคนै, เคคो เคฏเคน UserID เคो username value assign เคเคฐเคคा เคนै เคเคฐ เคเคธे function result เคे เคฐूเคช เคฎें เคฒौเคाเคคा เคนै।
เคเคฆाเคนเคฐเคฃ เคे เคฒिเค, เคฏเคฆि เคเคชเคा Windows username Ram เคนै, เคคो function Ram เคฒौเคाเคเคा। เคฏเคน users เคो track เคเคฐเคจे เคฏा Excel เคฏा Word VBA เคฎें report เคो customize เคเคฐเคจे เคे เคฒिเค เคเคชเคฏोเคी เคนै।
Get user Name
Public Function UserName()
UserName = Application.UserName
End Function
เคฏเคน VBA function UserName, Microsoft Office application เคฎें set เคिเค เคเค person เคा name เคฒौเคाเคคा เคนै।
เคฏเคน เคเคธ เคช्เคฐเคाเคฐ เคाเคฎ เคเคฐเคคा เคนै:
- เคฏเคน function Application.UserName เคा เคเคชเคฏोเค เคเคฐเคคा เคนै, เคो Office user settings (เคเคฎเคคौเคฐ เคชเคฐ File → Option → General → User Name เคे เค ंเคคเคฐ्เคเคค) เคฎें enter เคिเค เคเค name เคो retrieve เคเคฐเคคा เคนै।
- เคเคฌ function เคเคฒเคคा เคนै, เคคो เคฏเคน UserName เคो เคฏเคน name assign เคเคฐเคคा เคนै เคเคฐ เคเคธे เคฒौเคाเคคा เคนै।
เคเคฆाเคนเคฐเคฃ เคे เคฒिเค, เคฏเคฆि Excel user name Ram เคชเคฐ set เคนै, เคคो function Ram เคฒौเคाเคเคा।
เคฏเคน document creator เคी เคชเคนเคाเคจ เคเคฐเคจे เคฏा Excel เคฏा Word report เคฎें personalize details เคोเคก़เคจे เคे เคฒिเค เคเคชเคฏोเคी เคนै।
Get Outlook properties like mobile number, email etc.
Function ResolveDisplayNameToSMTP(sFromName) As String
' takes a Display Name (i.e. "Ram Kumar") and turns it into an email address (ram.kumar@myco.com)
' necessary because the Outlook address is a long, convoluted string when the email is going to someone in the organization.
' source: https://stackoverflow.com/questions/31161726/creating-a-check-names-button-in-excel
Dim olApp As Object 'Outlook.Application
' Dim myNamespace As Outlook.Namespace
' Dim oRecip As Outlook.Recipient
Dim oRecip As Object 'Outlook.Recipient
Dim oEU As Object 'Outlook.ExchangeUser
'Dim oEDL As Object 'Outlook.ExchangeDistributionList
Set olApp = CreateObject("Outlook.Application")
Set oRecip = olApp.Session.CreateRecipient(sFromName)
' Set myNamespace = Application.GetNamespace("MAPI")
' Set oRecip = myNamespace.CreateRecipient(sFromName)
oRecip.Resolve
'Sleep 1000
If Not oRecip.Resolved Then
oRecip.Resolve
End If
If oRecip.Resolved Then
Select Case oRecip.AddressEntry.AddressEntryUserType
Case 0, 5 'olExchangeUserAddressEntry & olExchangeRemoteUserAddressEntry
Set oEU = oRecip.AddressEntry.GetExchangeUser
If Not (oEU Is Nothing) Then
'ResolveDisplayNameToSMTP = oEU.PrimarySmtpAddress 'for email
'ResolveDisplayNameToSMTP = oEU.MobileTelephoneNumber ' for mobile number
ResolveDisplayNameToSMTP = oEU.Name 'for name
End If
Case 10, 30 'olOutlookContactAddressEntry & 'olSmtpAddressEntry
'ResolveDisplayNameToSMTP = oRecip.AddressEntry.Address
ResolveDisplayNameToSMTP = oRecip.AddressEntry.Address
End Select
End If
'Sleep 2000
'Set olApp = Nothing
'Set oRecip = Nothing
Set oEU = Nothing
Set oRecip = Nothing
Set olApp = Nothing
End Function
เคฏเคน VBA function ResolveDisplayNameToSMTP, เคिเคธी Outlook display name (เคैเคธे "Ram Kumar") เคो เคिเคธी เค เคงिเค เคเคชเคฏोเคी เคฐूเคช เคฎें เคชเคฐिเคตเคฐ्เคคिเคค เคเคฐเคคा เคนै, เคैเคธे เคि email address, mobile number เคฏा name।
เคฏเคน เคเคธ เคช्เคฐเคाเคฐ เคाเคฎ เคเคฐเคคा เคนै:
- เคฏเคน CreateObject("Outlook.Application") เคा เคเคชเคฏोเค เคเคฐเคे Outlook เคธे connect เคนोเคคा เคนै।
- เคฏเคน เคฆिเค เคเค เคจाเคฎ เคे เคฒिเค เคเค recipient object เคฌเคจाเคคा เคนै เคเคฐ เคเคธे Outlook เคी address book เคฎें resolve เคเคฐเคจे เคा เคช्เคฐเคฏाเคธ เคเคฐเคคा เคนै।
- เคธเคซเคฒ เคนोเคจे เคชเคฐ, เคฏเคน address entry เคे type เคी เคाँเค เคเคฐเคคा เคนै।
- Internal users เคे เคฒिเค, เคฏเคน primary SMTP email, mobile number เคฏा display name (เคฌिเคจा comment เคी เคเค lines เคे เคเคงाเคฐ เคชเคฐ) เคฒौเคा เคธเคเคคा เคนै।
- เคเคธเคे เคฌाเคฆ เคฏเคน เคธเคญी Outlook object เคो memory free เคเคฐเคจे เคे เคฒिเค release เคเคฐ เคฆेเคคा เคนै।
เคฏเคน function Outlook เคฎें names เคธे users เคे true email addresses เคी เคชเคนเคाเคจ เคเคฐเคจे เคฎें เคฎเคฆเคฆ เคเคฐเคคा เคนै।


0 เคिเคช्เคชเคฃिเคฏाँ
Please do not enter any spam link in the comment box.