Я импортирую данные в MS Word из CSV. Моя проблема возникает, когда я пытаюсь разделить данные с помощью встроенной функции split (). Это должно быть просто, но когда я пытаюсь разделить его, я получаю ошибку «Несоответствие типов». Это моя первая строка текста, которая появляется в ближайшем окне:
"Acct","SSN","Name","Last name","Phone1","Phone2","Address","City","State","Ph home","Ph work","Ph mobile","Ph other","Email","Notes","Zip"
Однако при наведении курсора на переменную во время отладки я думаю, что вся строка обрабатывается как строка:
""Acct","SSN","Name","Last name","Phone1","Phone2","Address","City","State","Ph home","Ph work","Ph mobile","Ph other","Email","Notes","Zip""
Я предполагаю, что при импорте каждый элемент строки обрабатывается как строка, а затем сама строка превращается в одну гигантскую строку? Я действительно не уверен. Пока все, что я хочу сделать, это разделить строку на две части и проверить первый элемент по заранее определенной переменной. Я еще не использовал эту функцию, и еще не совсем разбираюсь в VBA в Word.
Короче говоря, как я могу трактовать эту строку как тип данных, с которым я могу взаимодействовать настолько, чтобы разделить ее на элементы? Я думаю, что все это рассматривается как один элемент, что вызывает у меня проблемы.
Private Function importCSV_(x)
Dim filenum As Integer
Dim arrLines() As String
Dim arrSplit As Variant
Dim textline As String
Dim lines
filenum = FreeFile()
Open "\\...\studentData.csv" For Input As #filenum
Do Until EOF(filenum)
Line Input #filenum, textline
lines = lines + 1
Debug.Print textline
Debug.Print split(textline, ",", 2) '<--- ERROR APPEARS HERE
arrSplit = split(textline, ",", 2)
ReDim Preserve arrLines(lines)
arrLines(lines) = arrSplit
If checkForFour_(arrSplit(0)) = True Then
arrSplit(UBound(arrLines)) = split(arrLines(lines), ",")
Else
arrSplit(UBound(arrLines) - 1) = split(arrLines(lines) - 1) & "," & split(arrLines(lines), ",")
End If
Loop
Debug.Print UBound(arrLines)
Debug.Print UBound(arrSplit)
End Function
Функция checkForFour_ является частной функцией, которая просто проверяет форматирование ввода данных. Я все еще изучаю программирование и сам по себе в этом отношении, так что я постоянно облегчаю свою работу, тем самым создавая некоторый мусорный код.