Сделал.
Скрипт:
Скрытый текст |
---|
Код |
---|
Dim objExcel
'Set objDialog = CreateObject("UserAccounts.CommonDialog")
'objDialog.Filter = "Input Files|*.PlayReport|All Files|*.*"
'objDialog.FilterIndex = 1
'objDialog.InitialDir = ""
'intResult = objDialog.ShowOpen
' If intResult = 0 Then
' WScript.Quit
' Else
' InputFile = objDialog.Filename
' End If
arr = Split(""" date=""|"" time=""|"" duration=""|"" fadeIn=""|"" file=""|"" fadeOut=""|"" realDuration=""|"" error=""", "|")
For Each InputFile In WScript.Arguments
MsgBox InputFile
Set ts = CreateObject("Scripting.FileSystemObject").OpenTextFile(InputFile, 1)
s = ts.ReadAll
ts.Close
For Each el In arr
s = Replace(s, el, "|||")
Next
arrstr = Split(s, vbCrLf) 'массив строк текста целиком
ReDim out(UBound(arrstr), 3)
ii = 0
out(ii, 0) = "Имя файла"
out(ii, 1) = "Время выхода"
out(ii, 2) = "Продолжительность"
out(ii, 3) = "Ошибка"
For i = 0 To UBound(arrstr)
If Left(arrstr(i), 17) = "<item type=""Movie" Then
arrstrstr = Split(arrstr(i), "|||")
ii = ii + 1
a = Split(arrstrstr(5), "\")
out(ii, 0) = Split(a(UBound(a)), ".")(0)
out(ii, 1) = arrstrstr(2)
out(ii, 2) = arrstrstr(3)
If Left(arrstrstr(8), 1) = "1" Then out(ii, 3) = arrstrstr(7)
End If
Next
ActivateExcel
objExcel.Workbooks.Add '# открываем новую книгу Excel
objExcel.Cells(2, 2).Resize(ii, 3).NumberFormat = "h:mm:ss"
With objExcel.Cells(1, 1).Resize(ii + 1, 4)
.Value = out
.EntireColumn.AutoFit()
End With
Next
Private Function ActivateExcel()
On Error Resume Next
Set objExcel = GetObject(, "Excel.Application")
If objExcel Is Nothing Then
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
End If
End Function
|
|
Применение - выделяем мышью файлы каталога и драгэнддропаем на скрипт.
P.S. MsgBox InputFile ставил для проверки, можете убрать. Или оставить.
Скрипт знаком потому что ActivateExcel кажется никто кроме меня не использовал. Хотя это не моё, сам где-то подсмотрел.
В 2012 году кажется ещё XP юзал, там этот диалог работал.