вот моя проблема: Я разбираю xml используя excel VBA. Я открываю XML-файл как обычный файл excel, затем перехожу к колонке, которая мне интересна.Parsing a Number
Клетки в этой колонке - 16 символов.
Итак, я разбираю каждый из этих символов с помощью функций «Влево» и «Вправо» и сохраняю их в новом файле.
В основном эти 16 символов являются числовыми, а иногда и альфа-символами.
пример 1111000011110000 или 1111YYYY00001111
при разборе 1111YYYY00001111 - я получаю правильный вывод,
как в новом файле Cell (1,1) = 1 Cell (1,1) = 1 ячейка (1,2) = 1 ячейка (1,3) = 1 ячейка (1,4) = 1 ячейка (1,5) = Y и т. Д.
Но когда я разбираю 1111000011110000 - я не получаю правильный выход
Я получаю Cell (1,1) = 1 Cell (1,2) =. Ячейка (1,3) = 1 Ячейка (1,4) = 1 Ячейка (1,5) = 1 Ячейка (1,6) = 0
Я попытался поместить NumberFormat = "0" для столбца, который я был синтаксический анализ, но все же я получаю тот же результат.
Я также попытался поместить переменные отладки и сохранил их как строки, двойное целое, но я не смог пройти его.
Вот мой код:
Workbooks.Add
strip_concat = ActiveWorkbook.Name
Workbooks(strip_concat).Sheets(1).Cells(1, 1) = "Subid"
Workbooks(strip_concat).Sheets(1).Cells(1, 2) = "Strip#"
Workbooks(strip_concat).Sheets(1).Cells(1, 3) = "X"
Workbooks(strip_concat).Sheets(1).Cells(1, 4) = "Y"
Workbooks(strip_concat).Sheets(1).Cells(1, 5) = "Reject Code"
Workbooks(strip_concat).Sheets(1).Cells(1, 6) = "X-Y"
Workbooks.OpenXML Filename:=xml_file
stripfile = ActiveWorkbook.Name
For C = 3 To strip_col - 1
r = 1
Do
Y = r
x = C - 2
Workbooks(strip_concat).Sheets(1).Cells(A, 3) = x
Workbooks(strip_concat).Sheets(1).Cells(A, 4) = Y
Workbooks(strip_concat).Sheets(1).Cells(A, 6).NumberFormat = "@"
Workbooks(strip_concat).Sheets(1).Cells(A, 6) = x & "-" & Y
Workbooks(strip_concat).Sheets(1).Cells(A, 1) = Workbooks(stripfile).Sheets(1).Cells(C, Amkor_id_col)
Workbooks(strip_concat).Sheets(1).Cells(A, 2) = ExtractElement(Workbooks(stripfile).Sheets(1).Cells(C, Strip_num_col), 2, ".")
Workbooks(strip_concat).Sheets(1).Cells(A, 5) = Right(Left(Workbooks(stripfile).Sheets(1).Cells(C, Defect_data_col + i), r), 1)
r = r + 1
A = A + 1
Loop Until (r > 16)
If ((x Mod 13) = 0) Then i = i + 1
Next C
из XML-файла 1131111111111111
Какие функции вы используются для анализа значения? – OpiesDad
Вам нужно будет опубликовать свой код для его отладки. Однако моя догадка - это вопрос формата –
Что такое * как в новом файле Cell (1,1) = 1 Ячейка (1,1) = 1 * должна означать? Какой код вы используете? – pnuts