Всем доброго дня!Прошу
уважаемых форумчан помочь советом по следующей ситуации.
[VBA]: обрабатывается построчно текстовый файл большого размера (100+ Мб).
Каждая считанная строка имеет следующий вид (пример):
Код |
---|
{{"Василий","Инженер",55000,35},{"Михаил","Юрист",65000,42},{"Светлана","офис-менеджер",35000,27}}
|
Согласно синтаксису
VB (не VBA), подобная запись информации (с использованием вложенных литералов `{` и `}` ) соответствует записи двумерного массива.
А синтаксис описания массивов в VBA, к сожалению, иной и фигурные скобки не воспринимаются.
Требуется: присвоить содержимое вышеуказанной строки переменной, являющей двумерным массивом для последующей обработки строк и столбцов. К примеру - суммированию в цикле зарплат сотрудников, чей возраст менее 40 лет.
Проблема: описание массивов в VBA не воспринимает фигурные скобки. Можно было бы через RegExp привести строку к виду
Код |
---|
Array(Array("Василий","Инженер",55000,35),Array("Михаил","Юрист",65000,42),Array("Светлана","Офис-менеджер",35000,27)) |
и применить (бы)
evaluate, но Evaluate в VBA обрабатывает только арифметические выражения...
Я пытался воспользоваться другим редактором:
Код |
---|
Dim d As New MSScriptControl.ScriptControl
d.Language = "VBScript"...
|
но он так же отличается от VB и не воспринимает синтаксис массива с применением фигурных скобок.
Уважаемые коллеги, подскажите, какие есть идеи или варианты на Ваш взгляд, кроме простого перебора строки и заполнения в цикле двумерного массива для приведения его к виду
Цитата |
---|
Василий Инженер 55000 35 Михаил Юрист 65000 42 Светлана Офис-менеджер 35000 27 |
Скорость работы решения важна, поскольку файл - большого размера.
Заранее благодарю Вас за участие в обсуждении!