• ベストアンサー

ビデオファイルのプロパティの値を取得する方法

ビデオファイルのプロパティの詳細で表示されるプロパティの値(名前、日付時刻、種類、サイズ、長さ、ビットレートなど)をExcelに取り込んで管理したいのですが、どのようにすればよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

この方法で 全てのプロパティが取得できそうです。 Sub ボタン1_Click() Dim Shell, Folder Set Shell = CreateObject("Shell.Application") Set Folder = Shell.Namespace(Range("A1").Value) Fil = Dir(Range("a1").Value & "\*.*") Rows("5:65536").ClearComments i = 5 Do While Fil <> "" For j = 0 To 40 Cells(i, j + 1).Value = Folder.GetDetailsOf(Folder.ParseName(Fil), j) Next i = i + 1 Fil = Dir() Loop Set Folder = Nothing Set Shell = Nothing End Sub 不要な列は非表示にデモしてください。 列に何が表示されているかの項目がすべては調べきれませんでしたが そちらのデータと比較して5行目に項目を入れてください。

noname#132511
質問者

お礼

ありがとうございます。 教えていただいたマクロをコピーして実行しましたが、 「オブジェクト変数またはWithブロック変数が設定されていません」とのエラーが発生します。 Excelは2007です。マクロはよくわかりませんので、教えていただけたら幸いです。

noname#132511
質問者

補足

大変失礼いたしました。 A1セルに動画を保存しているパスを入力するのですね。 見事に私の欲しいプロパティの詳細をExcelのシートにとりだすことができました。 感謝いたします。本当にありがとうございました。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

VBAの力をかりますが 新しいBookを作成して Sub ボタン1_Click() Target = InputBox("ディレクトリ名を入力", "ディレクトリの指定", ThisWorkbook.Path) Set FS = CreateObject("Scripting.FileSystemObject") Set Fol = FS.GetFolder(Target) Set Fil = Fol.Files ThisWorkbook.Sheets(1).Rows("3:65536").ClearContents i = 3 For Each Fx In Fil 'ファイル名の書き出し Cells(i, 2) = Fx.Name 'サイズの書き出し Cells(i, 5) = Fx.Size 'ファイル種別 Cells(i, 3) = Fx.Type '最終更新日 Cells(i, 4) = Fx.DateLastModified i = i + 1 Next End Sub をVBAエディターにコピーして実行してみてください。 そのフォルダー内のプロパティの一覧が作成されますが 長さ と ビットレートの取得の仕方は知りません。

noname#132511
質問者

お礼

丁寧なご回答ありがとうございます。 長さやビットレートの取得方法が分かればありがたいのですが。

関連するQ&A