Страницы: 1
RSS
Выгрузка из таблицы в txt-файл по маске
 
Добрый вечер, уважаемые форумчане!
Заранее признателен всем откликнувшимся!

у меня возникла трудность, с которой без Вашего участия мне будет тяжело справиться:
подскажите, пожалуйста, с макросом для выгрузки данных из таблицы в файл txt (файл с таблицей и результат выгрузки прилагаются). Вставляются только данные из таблицы. В txt-файле место вставки данных выделено кавычками.

Заранее Вам признателен!
 
Не увидел в вашем файле ни одной строки кода...

За основу можно взять это:
http://excelvba.ru/code/CreateTextFiles_UTF8

вот что примерно получится (макрос «заточен» под ваш файл)
Код
1
2
3
4
5
6
7
8
9
10
11
Sub СозданиеТекстовогоФайла()
    On Error Resume Next
    arr = Range([A3], Range("A" & Rows.Count).End(xlUp)).Resize(, 4).Value        ' считываем данные в массив
 
    For i = LBound(arr) To UBound(arr)        ' перебираем все строки
        txt = txt & "</ПерПредСд><Наименование=""" & arr(i, 1) & """ Код=""" & arr(i, 2) & _
              """  Количество=""" & arr(i, 3) & """ Цена=""" & arr(i, 4) & """/>"
    Next i
 
    MsgBox txt ' выводим созданную текстовую строку
End Sub


Осталось только сохранить текстовую строку (из переменной txt) в файл
Тут поможет вам эта функция: http://excelvba.ru/code/txt
 
Уважаемый EducatedFool! Очень Вам признателен, что подсказали путь решения! Спасибо!
работающий макрос получился!

Но на самом деле, стоящая задача более сложная.
1. в первую часть файла нужно вставить фиксированный текст. Но программа реагирует на содержащиеся в нем символы, а это недопустимо.
2. таблица с данными единая, но содержит в себе 2 группы. Не знаю, как реализовать, чтобы в первую часть выгружаемого в файл текста были вставлены значения из группы 1 (Синяя группа), и во вторую часть выгружаемого текста - значения из группы 2 (Зеленая группа).
3. и все это необходимо в кодировке windows-1251. Если я ее в notepade++ изменю на windows-1251 это будет работать, или нужно в макросе задавать параметр кодировки?

Пример желаемого результата приведен в приложенном файле "Результат". Данные для выгрузки в текстовый файл - в файле "Данные".

Пожалуйста, помогите с макросом! Заранее Вам признателен
Изменено: Dmitrik - 16.10.2013 14:18:20 (недописал кое-что)
 
явная некорректность тегов и
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="windows-1251"?>
<Файл xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ИдФайл="20131016_FF6C51AD-FC91-B243-ABF7-2245DE606AC6"
<Синяя группа>
</ПерПредСд>
<Наименование="Лифчик" Код="2301"  Количество="2000" Цена="550"/>
</ПерПредСд>
<Наименование="Труселя" Код="2436"  Количество="1000" Цена="200"/>
</ПерПредСд>
<Наименование="Чулки" Код="АА02"  Количество="150" Цена="70"/>
<Зеленая группа>
</ПерПредСд>
<Наименование="Клавиатура" Код="7781"  Количество="900" Цена="320"/>
</ПерПредСд>
<Наименование="Монитор" Код="6541"  Количество="800" Цена="3100"/>
</ПерПредСд>
<Наименование="Джойстик" Код="9871"  Количество="200" Цена="1150"/>
 
Прошу прощения, galina mur, я не знаю, что такое "некорректность тегов". но это не важно.
Подскажите, пожалуйста, как просто организовать выгрузку в файл данных из таблице по маске:

Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<Синяя группа>
</ПерПредСд>
<Наименование="Лифчик" Код="2301"  Количество="2000" Цена="550"/>
</ПерПредСд>
<Наименование="Труселя" Код="2436"  Количество="1000" Цена="200"/>
</ПерПредСд>
<Наименование="Чулки" Код="АА02"  Количество="150" Цена="70"/>
<Зеленая группа>
</ПерПредСд>
<Наименование="Клавиатура" Код="7781"  Количество="900" Цена="320"/>
</ПерПредСд>
<Наименование="Монитор" Код="6541"  Количество="800" Цена="3100"/>
</ПерПредСд>
<Наименование="Джойстик" Код="9871"  Количество="200" Цена="1150"/>


а первую часть файла

Код
1
2
<?xml version="1.0" encoding="windows-1251"?>
<Файл xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ИдФайл="20131016_FF6C51AD-FC91-B243-ABF7-2245DE606AC6"


я методом ctrl+C - ctrl-V вставлю.

В общем, подскажите, пожалуйста, как откорректировать код, чтоб выгружалось в таком виде, как в примере
Страницы: 1
Читают тему
Наверх
Loading...