Экспорт в Excel

Список разделов Аудиоплеер foobar2000 Секреты foobar2000

Описание: Кнопочки, конфиги, секреты, советы.

Сообщение #1 panda » 04.04.2009, 15:41

В посте описывается как назначить на кнопку генерирование отчёта в таблицу MS Excel (с которой можно потом сделать всё что угодно).

Требуются плагины:
foo_texttools
foo_run
foo_runcmd

Требуется MS Excel

Настраиваем Text Tools (в строку можно вписать любые теги, разделяя их табами)
[img width=400 height=291]http://img2.pict.com/76/08/b8/a148f75c0935b2abdbbba0a937/liaio/texttools2excel.png[/img]
[code=Код на картинке]%album artist%$tab()%date%$tab()%album%[/code]

Настраиваем контекстное меню
[img width=400 height=291]http://img2.pict.com/91/74/34/138460a7197a792b01adfc20c2/wxOWO/texttools.png[/img]

Настраиваем foo_run
[img width=400 height=291]http://img2.pict.com/02/9d/c2/a8d431f406f2c662c897f77c49/GqL8Y/runexport2excel.png[/img]

В папке с фубаром создаём текстовый файл, обзываем его «ExcelExport.vbs».
[code=ExcelExport.vbs]Option Explicit

Dim WshShell, XL

Set XL=WScript.CreateObject("Excel.Application")
XL.Visible=true
XL.WorkBooks.Add

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("foobar2000.exe " & chr(34) & "/runcmd-playlist=Utils/Text tools/Copy: ExcelExport" & chr(34))

WScript.Sleep(1000)
XL.ActiveSheet.Paste[/code]

Теперь можете повесить пункт меню «Export to Excel» на кнопку и радоваться.

Для тех, что чуточку понимает в VBScript и в VBA должно быть понятно, что этим дело, естественно, не ограничивается.
Из .vbs-скрипта можно получить доступ к объекту Application Экселя и делать с ним почти всё, что угодно.
Последний раз редактировалось panda 26.04.2009, 19:45, всего редактировалось 1 раз.
Панды занесены в Книгу рекордов Гиннеса как самые привлекательные из редких животных
panda M
Автор темы, Бывалый
Аватара
Возраст: 33
Репутация: 12
С нами: 10 лет 8 месяцев

Сообщение #2 Ascold » 04.04.2009, 15:51

Позволь и здесь выразить тебе свою благодарность :)

Надеюсь на твою помощь в доработке  ;)
Ascold
Новичок
Репутация: 0
С нами: 8 лет 4 месяца

Сообщение #3 grounder » 04.04.2009, 15:58

Работает!
Может когда нибудь пригодится
grounder M
Бывалый
Аватара
Возраст: 36
Откуда: Санкт-Петербург
Репутация: 8
С нами: 11 лет

Сообщение #4 panda » 04.04.2009, 16:12

Доработка на самом деле — личное дело каждого.

Простейший пример, как самостоятельно доработать скрипт:
Однократно запусти скрипт.
Когда вылезет окно Excel, нажми кнопку «Запись макроса»
Отформатируй таблицу как хочется (тут главное помнить, что все действия записываются и будут повторены потом, на другой таблице. поэтому, к примеру, не надо сдвигать некоторое количество строк вниз, а лучше вставить перед первой строкой ещё одну)
Останови запись макроса.

Теперь просмотри код макроса. Должно получиться что-то типа этого:
Макрос1 писал(а):Sub Макрос1()
'
' Макрос1 Макрос
'

'
   Rows("1:1").Select
   Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
   Range("A1").Select
   ActiveCell.FormulaR1C1 = "Album Artist"
   Range("B1").Select
   ActiveCell.FormulaR1C1 = "Date"
   Range("C1").Select
   ActiveCell.FormulaR1C1 = "Album"
   Rows("1:1").Select
   Selection.Font.Bold = True
   Columns("A:C").Select
   Selection.Columns.AutoFit
   
End Sub

Тогда в конец файла ExcelExport.vbs нужно добавить строки:
[code=ExcelExport.vbs]XL.Rows("1:1").Select
XL.Selection.Insert
XL.Range("A1").Select
XL.ActiveCell.FormulaR1C1 = "Album Artist"
XL.Range("B1").Select
XL.ActiveCell.FormulaR1C1 = "Date"
XL.Range("C1").Select
XL.ActiveCell.FormulaR1C1 = "Album"
XL.Rows("1:1").Select
XL.Selection.Font.Bold = True
XL.Columns("A:C").Select
XL.Selection.Columns.AutoFit
[/code]

Вуаля! Теперь в экспорте есть шапка, в которой заголовки выделены полужирным шрифтом и столбцы подогнаны по ширине.
Единственная загвоздка в том, что строка «Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove» превращается в просто «XL.Selection.Insert», т. к. пробелы вызывают ошибку.
Последний раз редактировалось panda 04.04.2009, 16:25, всего редактировалось 1 раз.
Панды занесены в Книгу рекордов Гиннеса как самые привлекательные из редких животных
panda M
Автор темы, Бывалый
Аватара
Возраст: 33
Репутация: 12
С нами: 10 лет 8 месяцев

Сообщение #5 arrrt » 05.08.2009, 00:23

Как оно работает??? объясните!
и что получается в итоге? просто нужно из кучи мп3 вытащить все теги. а треков там порядка 1000
Последний раз редактировалось evil 05.08.2009, 07:05, всего редактировалось 1 раз.
arrrt
Новичок
Репутация: 0
С нами: 7 лет 10 месяцев


Вернуться в Секреты foobar2000