
저는 항상 [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)
지정된 필터 기준에 따라 문자열 배열의 하위 집합을 포함하는 0부터 시작하는 배열을 반환합니다.
- 함수를 사용
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