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

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

d22cva 31-03-2015 09:16 2489896

Из Exel в txt с добавлением определенного текста
 
Вложений: 1
Добрый день!
Попытаюсь описать задачу понятно.
Имею экселевский файл с списком рекламы 28.03.2015.xls. В колонке название блока указан номер блока. Необходимо чтобы скрипт создал тестовый файл с именем номера блока взятого из колонки с номером блока и расширением .air, далее в файле вставлял в этот файл в первую строку строчку "comment 0 " без кавычек и номер блока, а далее брал ID ролика и в каждую строку добавляя перед ID "movie 0:00:00.00 R:", а после ID добавлял ".avi", чтоб получилось так :
Скрытый текст

comment 0 1
movie 0:00:00.00 R:437585.avi
movie 0:00:00.00 R:491517.avi
movie 0:00:00.00 R:700948039.avi

и так с каждым блоком новый файл.
В файле 40 блоков и должно получиться 40 текстовых файлов с расширением .air
Подскажите можно это скриптом реализовать?
1.rar прилагаю с иходником Exel 28.03.2015.xls и результат как должно получиться 01-РЕК.air

megaloman 31-03-2015 19:37 2490135

Код:

fXLS = "28.03.2015.xls"              ' Имя Excel-файла в тек папке

NBlok1 = "A5"          ' Ячейка с первым номером блока
ID1 = "D5"              ' Ячейка с первым ID
   
NBlank = 20            ' Max число строк с пустыми ID
       
iBlank = 0
i = 0
     
Set FSO = CreateObject("Scripting.FileSystemObject")

PfXLS=Replace(WScript.ScriptFullName,WScript.ScriptName,fXLS)

Set XL = CreateObject("Excel.Application")
XL.Visible = False                                'True
XL.Workbooks.Open PfXLS
   
Do While iBlank <= NBlank
    V1 = (XL.Range(NBlok1).Offset(i, 0))
    V2 = (XL.Range(ID1).Offset(i, 0))
       
    If V1 = 0 And V2 = 0 Then
        iBlank = iBlank + 1
    Else
        If V1 <> 0 Then
            If i <> 0 Then
                NFile.Close                                      ' Закрываем файл
            End If
            Set NFile = FSO.OpenTextFile(Right(CStr(V1 + 1000000000), 2) + "-РЕК.air", 2, True) '  Открываем текстовый файл для перезаписи. Если файла нет, будет создан
            NFile.WriteLine "comment 0 " + Right(CStr(V1 + 1000000000), 2)
        End If
        NFile.WriteLine "movie 0:00:00.00 R:" + CStr(V2) + ".avi"
        iBlank = 0
    End If
    i = i + 1
Loop
   
NFile.Close                                      ' Закрываем файл
XL.Quit



Время: 13:44.

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