VBA从文本中读取以下内容并将其分配给变量。我需要从中提取名称(在这个例子中,它将是" Canada,Ontraio")。但是该文本将包含多个此类"名称"我应该能够将每个名称分配到一个数组中以便稍后重新调用它。
ID = abc123 NAME = Canada, Ontario
NT = U SIZE = 0 BYTES
DT ID = 5A DEP = D E
下面的是从文本文件中读取它的代码:
Set oFS = oFSO.OpenTextFile("c:\\users\test.txt")
txtpro = oFS.ReadAll
If InStr(strarray(intCount), "TYPE") Then
UserName() = Split(strarray(intCount), "TYPE")
End If
If Not (Not UserName()) Then
For TotUName = LBound(UserName()) To UBound(UserName())
Debug.Print UserName(TotUName)
Next
End if
答案 0 :(得分:1)
我假设你知道如何循环文件中的行。
试试这个
'~~> Sample String
s = "ID = abc123 NAME = Canada, Ontario"
MyAr = Split(s, "=")
'~~> Check if you have " NAME " in MyAr(UBound(MyAr) - 1)
If InStr(1, MyAr(UBound(MyAr) - 1), " NAME ", vbTextCompare) Then
Debug.Print MyAr(UBound(MyAr))
End If
以上内容会为您Canada, Ontario
。以下将不会给你什么
s = "NT = U SIZE = 0 BYTES "
MyAr = Split(s, "=")
If InStr(1, MyAr(UBound(MyAr) - 1), " NAME ", vbTextCompare) Then
Debug.Print MyAr(UBound(MyAr))
End If