Войти

Показать полную графическую версию : Перестановка полей


Serg2010
19-04-2011, 18:39
Добрый день!

Файл в формате ексель, там табличка с одним столбцом. В каждой ячейке столбца адрес: индекс, область, город, улица, дом, квартира. Разделителем служит запятая.
Но такой порядок не устраивает почту. Нужен батник, скрипт, программа которая бы переставила значения так: индекс, улица, дом, квартира и только потом область и город. Или же резделить всё по отдельным полям чтоли. Этот файлик потом служит для надпечатки конвертом и служит списком для слияния. В идеале конечно разделить все по полям по разделителю, а там уж можно оперируя полями порлучить нужный порядок.
Файл ексель формируется программой ... Вообщем хочется избежать ручной корректировки переставляя адресную часть.
Спасибо

megaloman
19-04-2011, 21:19
Как начальный вариант, если столбец А, данные начинаются с 1 клетки, то VBS-скрипт:fXLS = "P:\Delete\dddddd.xls"

ind = Array(1, 4, 5, 6, 2, 3)

Set XL = CreateObject("Excel.Application")
XL.Visible = True
XL.Workbooks.Open fXLS

i = 0
Do While True

Stroka = XL.Range("A1").Offset(i, 0)
If Stroka = "" Then Exit Do
Mas = Split(Stroka, ",")

Stroka = CStr(Mas(ind(0) - 1))
For j = 1 To 5
Stroka = Stroka + "," + CStr(Mas(ind(j) - 1))
Next

XL.Range("A1").Offset(i, 0).NumberFormat = "@"
XL.Range("A1").Offset(i, 0) = Stroka
i = i + 1

Loop
XL.ActiveWorkbook.Save
XL.Quit
Путь к файлу пропишИте свой

Serg2010
23-04-2011, 19:58
гениально.




© OSzone.net 2001-2012