Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Перестановка полей (http://forum.oszone.net/showthread.php?t=205184)

Serg2010 19-04-2011 18:39 1661870

Перестановка полей
 
Добрый день!

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

megaloman 19-04-2011 21:19 1661941

Как начальный вариант, если столбец А, данные начинаются с 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 1664492

гениально.


Время: 23:13.

Время: 23:13.
© OSzone.net 2001-