Private Declare Function UrlUnescape Lib "shlwapi" Alias "UrlUnescapeA" (ByVal v_sURL As String, ByVal v_sUnescaped As String, ByRef r_lUnescaped As Long, ByVal v_lFlags As Long) As Long Private Const URL_DONT_SIMPLIFY As Long = &H8000000 Public Function URL_Encode(ByVal v_sText As String) As String    Dim iCounter As Integer     Dim iCount As Integer     Dim sUrlEsc As String     Dim sChar As String     Dim sHex As String     Dim iAsc As Integer     iCount = Len(v_sText)     For iCounter = 1 To iCount         sChar = Mid$(v_sText, iCounter, 1)         iAsc = Asc(sChar)         sHex = Hex$(iAsc)         If Not sChar Like "[A-z,!-$,&-@,{-~]" And iAsc < 127 Then             sUrlEsc = sUrlEsc & "%" & String(2 - Len(sHex), "0") & sHex         Else             sUrlEsc = sUrlEsc & sChar         End If     Next iCounter     URL_Encode = sUrlEsc End Function Public Function URL_Decode(ByVal v_sText As String) As String     Dim sURLUnEsc As String 'The decoded string     Dim lSize As Long 'Size of the decoded string     'Just use the standard Windows API to decode it     sURLUnEsc = Space$(255)     lSize = Len(sURLUnEsc)     Call UrlUnescape(v_sText, sURLUnEsc, lSize, URL_DONT_SIMPLIFY)     URL_Decode = Left$(sURLUnEsc, lSize) End Function