这相当简单;请添加您自己的错误检查。需要添加对“Microsoft脚本运行时”的引用
Public Function Parse(msg As String) As Dictionary
Dim i As Integer, pos As Integer
Dim line As Variant
Dim lines() As String
Dim dict As New Dictionary
lines = Split(msg, vbCrLf)
For Each line In lines()
pos = InStr(1, line, ":", vbTextCompare)
If pos <> -1 Then
dict.Add Trim$(Left$(line, pos - 1)), Trim$(Right$(line, Len(line) - pos))
End If
Next
Rem: Access values like this (with null checks):
Rem: dict("Contact"), dict("Address")
Set Parse = dict
End Function
我使用它创建了一个带有文本框和按钮的简单表单,并将其添加到按钮单击事件:
Private Sub Command2_Click()
Dim dict As Dictionary
Text0.SetFocus
Set dict = Parse(Text0.text)
Debug.Print dict("Contact"), dict("Address")
Rem clear up when done
Set dict = Nothing
End Sub