比如说我要取得  <td nowrap="nowrap" align="right">683.79</td>  
>和<之间的683.79.

解决方案 »

  1.   

    直接的没见有,但可以用Instr和Mid函数写一个
      

  2.   

    这样就行!    Dim strString As String
        Dim strData As String
        strString = "<td nowrap=""nowrap"" align=""right"">683.79 </td>"
        strData = Split(Split(strString, ">")(1), "<")(0)
        Debug.Print strData
      

  3.   

    第一点:
    二个字符之间:可能一个字串中,相同的字符会有好几个?但是如果只是有一个的情况下好办:比如你的示例中的:
    Option ExplicitPrivate Sub Command1_Click()
      Dim Data As String
      Data = "<td nowrap=""nowrap"" align=""right"">683.79</td>"
      
      MsgBox GetText(Data, ">", "<")
      
    End Sub
    Private Function GetText(ByVal Text As String, ByVal BeginText As String, ByVal EndText As String)
       GetText = Mid(Text, InStr(1, Text, BeginText) + 1, InStrRev(Text, EndText) - InStr(1, Text, BeginText) - 1)
    End Function
      

  4.   

    如果你要取的是个带有小数的数值的话,这样也许会简单些吧.
    Dim DemoString As String,Result As String
    Dim partArray
    Dim partStr1 As String,partStr2 As String
    Dim partSize1 As Long,partSize2 As Long
        DemoString="<td nowrap=nowrap align=right>683.79 </td> "
        partArray= Splict(DemoString,".")       '以小数点将字符串分解为一个数组    partStr1 = partArray(LBound(partArray)) '取数组最小维的值
        partSize1 = InStrRev(partStr1,">")      '取得大于号在字符串中的位置    partStr2 = partArray(UBound(partArray)) '取数组最大维的值
        partSize2 = InStrRev(partStr2,"<")      '取得小于号在字符串中的位置    Result = Left$(part1,partSize1 - 1) & "." & Left$(part2,partSize2 - 1)
      

  5.   

    如果有好几个> <号的话,只要做个循环,判断中间是否为数字就行,只有一个><号那就用下面就可以Private Sub Command1_Click()
        Dim strString As String
        Dim strData As String
        strString = "<td nowrap=""nowrap"" align=""right"">683.79 </td>"    strData = Split(Split(strString, ">")(1), "<")(0)'//提取><之间的数
        MsgBox strData
    End Sub有多个><号如下:Private Sub Command1_Click()
        Dim strString As String
        Dim strData As String
        Dim i As Integer
        strString = "<td nowrap=""nowrap"" align=""right"">683.79 </td>"    For i = 0 to Ubound(Split(strString, ">"))
            strData = Split(Split(strString, ">")(i), "<")(0)'//提取><之间的数
             If isnumeric(strData) Then'//是数字就退出
                Exit for
            End If
        Next
        MsgBox strData'//显示
    End Sub
      

  6.   

    IE DOCUMENT 对象之getelementsbytagname("td")
      

  7.   

    我自己写了一个Private Sub GetStr(ByVal Temp As String, rate() As String)
      Dim S, Q, i As Integer
      Dim Str1 As String
      Q = 0
      i = 0For t = 1 To 10
     Do
      S = InStr(Q + 1, Temp, ">")
      Q = InStr(S + 1, Temp, ">")
      Str1 = Mid(Temp, S + 1, Q - S - 1)
      If Right(Str1, 4) = "</td" Then
        rate(i) = Mid(Str1, 1, Len(Str1) - 4)
        i = i + 1
        Exit Do
        
      End If
     Loop
    Next
    End Sub