'鼠标
'strSource源字符串
'strRegular规则字符串
'blval 是否计算值
'示例:GetRegVal("14*107*300厚度不加工,表面平整无伤","[\d+.*]")输出结果==> 14*107*300
'示例:GetRegVal("14*107*300厚度不加工,表面平整无伤","[\d+.*]",true)输出结果==> 14*107*300=449,400
Function GetRegVal(strSource, strRegular, Optional blval As Boolean = False)
'Dim Reg As New RegExp
On Error GoTo ErrHandle
Dim Reg As Object
Set Reg = CreateObject("VBScript.RegExp")
With Reg
.Global = True
.Pattern = strRegular
Set matchs = .Execute(strSource)
For Each Match In matchs
y = y & Match
Next
End With
If blval Then
GetRegVal = Application.Eval(Trim(y)) 'Excel用:GetRegVal = Application.Evaluate(Trim(y))'计算
Else
GetRegVal = Trim(y)
End If
ExitHere:
Exit Function
ErrHandle:
MsgBox Err.Description
End Function
附 件:
点击下载此附件
演 示: