|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
- Sub test()
- Dim URL$, SendData$, ResData$, i%, Data$, arr
- arr = Range("A1").CurrentRegion
- URL = "http://zfkaoshi.17el.cn/ksgltest"
- With CreateObject("MsXml2.xmlhttp")
- For i = 2 To UBound(arr)
- SendData = "xm=" & UrlEncode(arr(i, 1)) & "&sfz=" & arr(i, 2)
- .Open "Post", URL & "/queryScore", False
- .setrequestheader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
- .setrequestheader "Connection", "keep-alive"
- .send SendData
- ResData = "<tr><td><img src=""" & URL & "/" & Trim(.responsetext) & """/></td></tr>"
- Data = IIf(Data = "", ResData, Data & ResData)
- Next
- End With
- With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
- .settext "<table>" & Data & "</table>"
- .putinclipboard
- End With
- [C2].Select
- ActiveSheet.Paste
- Range("A1").CurrentRegion.RowHeight = 116
- [A1].Select
- End Sub
- Public Function UrlEncode(ByVal szString As String) As String
- Dim szChar As String
- Dim szTemp As String
- Dim szCode As String
- Dim szHex As String
- Dim szBin As String
- Dim iCount1 As Integer
- Dim iCount2 As Integer
- Dim iStrLen1 As Integer
- Dim iStrLen2 As Integer
- Dim lResult As Long
- Dim lAscVal As Long
- szString = Trim$(szString)
- iStrLen1 = Len(szString)
- For iCount1 = 1 To iStrLen1
- szChar = Mid$(szString, iCount1, 1)
- lAscVal = AscW(szChar)
- If lAscVal >= &H0 And lAscVal <= &HFF Then
- If (lAscVal >= &H30 And lAscVal <= &H39) Or _
- (lAscVal >= &H41 And lAscVal <= &H5A) Or _
- (lAscVal >= &H61 And lAscVal <= &H7A) Then
- szCode = szCode & szChar
- Else
-
- szCode = szCode & "%" & Hex(AscW(szChar))
- End If
- Else
- szHex = Hex(AscW(szChar))
- iStrLen2 = Len(szHex)
- For iCount2 = 1 To iStrLen2
- szChar = Mid$(szHex, iCount2, 1)
- Select Case szChar
- Case Is = "0"
- szBin = szBin & "0000"
- Case Is = "1"
- szBin = szBin & "0001"
- Case Is = "2"
- szBin = szBin & "0010"
- Case Is = "3"
- szBin = szBin & "0011"
- Case Is = "4"
- szBin = szBin & "0100"
- Case Is = "5"
- szBin = szBin & "0101"
- Case Is = "6"
- szBin = szBin & "0110"
- Case Is = "7"
- szBin = szBin & "0111"
- Case Is = "8"
- szBin = szBin & "1000"
- Case Is = "9"
- szBin = szBin & "1001"
- Case Is = "A"
- szBin = szBin & "1010"
- Case Is = "B"
- szBin = szBin & "1011"
- Case Is = "C"
- szBin = szBin & "1100"
- Case Is = "D"
- szBin = szBin & "1101"
- Case Is = "E"
- szBin = szBin & "1110"
- Case Is = "F"
- szBin = szBin & "1111"
- Case Else
- End Select
- Next iCount2
- szTemp = "1110" & Left$(szBin, 4) & "10" & Mid$(szBin, 5, 6) & "10" & Right$(szBin, 6)
- For iCount2 = 1 To 24
- If Mid$(szTemp, iCount2, 1) = "1" Then
- lResult = lResult + 1 * 2 ^ (24 - iCount2)
- Else: lResult = lResult + 0 * 2 ^ (24 - iCount2)
- End If
- Next iCount2
- szTemp = Hex(lResult)
- szCode = szCode & "%" & Left$(szTemp, 2) & "%" & Mid$(szTemp, 3, 2) & "%" & Right$(szTemp, 2)
- End If
- szBin = vbNullString
- lResult = 0
- Next iCount1
- UrlEncode = szCode
- End Function
复制代码 |
评分
-
1
查看全部评分
-
|