我总是将数据【AAA,BBB,CCC】写入CSV文件。
如果文本文件中有其他数据(例如:DDD),我也想写入。
数组:
arr = 数组(“AAA”,“BBB”,“CCC”)
文本文件(读取):
AAA
BBB
CCC
DDD
BBB
CCC
AAA
DDD
AAA
代码:
Open InputFile For Input As #1
Open OutputFile For Output As #2
Do Until EOF(1)
Line Input #1, strData
'Read data from text file
'Check text file data exists or not in arr
'If not exist, add items(DDD) to arr
Print #2, strData
Loop
Close #1
Close #2
CSV 文件(写入):
AAA, BBB, CCC, DDD
实现这个的最佳方法是什么?
答案1
筛选函数 (Visual Basic)
根据指定的过滤条件返回一个包含字符串数组子集的从零开始的数组。
- 使用该
filter
函数并使用 Ubound() 检查结果数组的大小。 - 使用
Redim preserve
将数组扩展 1 并添加最近检查的文本值
这是一个小的通用示例
Sub IsInArray()
Dim arrCheck()
arrInput = Array("AAA","BBB","CCC","DDD","BBB","CCC","AAA","DDD","AAA")
arrCheck = Array("AAA","BBB","CCC")
For Each Item In arrInput
If UBound(Filter(arrCheck, Item)) = -1 Then
ReDim Preserve arrCheck(UBound(arrCheck) + 1)
arrCheck(UBound(arrCheck)) = Item
End If
Next
End Sub