VBA Excel. Сохранение массива в текстовый файл

Сохранение одномерного и двумерного массивов в текстовый файл с помощью кода VBA Excel и обратное заполнение массивов данными из текстового файла.

Сохранение массива в текстовый файл

Сохранение одномерного массива

Сохранение одномерного массива в текстовый файл с добавлением разделителя между его элементами.

Объявляем переменную универсального типа, создаем из нее массив, заполнив ее данными с помощью функции Array:

Теперь создаем текстовый файл с помощью метода CreateTextFile. Создаем, а не открываем, для того, чтобы, если такой файл с данными уже существует, от был перезаписан новым пустым файлом.

Если переменную, предназначенную для создания нового объекта TextStream объявить явно: fl As TextStream, то станут доступны подсказки для автозаполнения свойств и методов этого объекта при написании кода.

Сохраняем информацию из массива в текстовый файл с помощью цикла For… Next:

В качестве разделителя элементов массива используется символ «;». Если точка с запятой встречается в содержимом элементов массива, следует использовать другой разделитель.

Закрываем объект TextStream и открываем созданный текстовый файл для просмотра:

Полный код процедуры VBA Excel для сохранения одномерного массива в текстовый файл:

Сохранение двумерного массива

Сохранение двумерного массива в текстовый файл с использованием в качестве разделителей точки с запятой (для элементов в одной строке) и переноса строки.

Раз у нас VBA Excel, то и заполнять двумерный массив будем данными с рабочего листа:

В результате будет создан массив с размерностью (1 to 8, 1 to 4). Первое измерение массива соответствует строкам диапазона, в второе – столбцам.

Создаем текстовый файл (или перезаписываем существующий) и открываем связанный с ним объект TextStream для записи данных из массива:

Записываем данные из двумерного массива в текстовый файл:

Закрываем объект TextStream и открываем созданный текстовый файл для просмотра:

Полный код процедуры VBA Excel для сохранения двумерного массива в текстовый файл:

Заполнение массива из текстового файла

Заполнение одномерного массива

Обратное заполнение с помощью кода VBA Excel одномерного массива данными из созданного текстового файла "C:\test\testfile1.txt":

Заполнение двумерного массива

Обратное заполнение с помощью кода VBA Excel двумерного массива из созданного текстового файла "C:\test\testfile2.txt".

Копируем информацию из текстового файла в переменную myString1:

Что мы теперь имеем? Все данные из файла "C:\test\testfile2.txt" скопированы в переменную myString1 с исходной структурой: со знаком переноса строки в качестве разделителя строк и точкой с запятой в качестве разделителя столбцов. Этой информацией мы и воспользуемся для заполнения массива myArray().

Проверяем заполненный массив копированием данных из него на рабочий лист:

Полный код процедуры VBA Excel для обратного заполнения двумерного массива из текстового файла:

Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.