mail mail

Функция VB (VBA) для определения продолжительности медиафайла

Получение длительности медиафайла формулой Excel

Узнать продолжительность (время) звучания аудиофайла (MP3, WAV и т.д.), или длительность видеофайла (видеоролика) из Excel совсем несложно при использовании функции ПродолжительностьМедиафайла:
(функцию можно использовать как в макросах, так и на листе Excel)

Sub Пример_Использования_Функции_ПродолжительностьМедиафайла()
    Путь = "E:\Music\MODERN_TALKING With_a_little_love.mp3"
    MsgBox "Продолжительность в секундах: " & ПродолжительностьМедиафайла(Путь), vbInformation, Путь
End Sub

А вот и код самой функции:

Function ПродолжительностьМедиафайла(ByVal filename$) As Double
    ' получает в качестве параметра полный путь к медиафайлу
   ' возвращает целое число - его продолжительность (в секундах)
   On Error Resume Next: Dim MCI As New clsMCI    ' создаём новый экземпляр класса
   MCI.OpenMCI filename$    ' открываем медиафайл (AVI, MPEG, MP3, WAV и т.д.)
   ' если удалось прочитать медиафайл
   If MCI.MCIError = False Then ПродолжительностьМедиафайла = MCI.Length
    MCI.CloseMCI: Set MCI = Nothing    ' уничтожаем объект MCI
End Function

Для работы этой функции используется модуль класса (см. пример во вложении)

Обратите внимание на формулы в зелёных ячейках - они по имени файла возвращают его продолжительность в секундах

ВложениеРазмер
MCI.xls57 КБ

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
2 + 17 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.