• ベストアンサー

フォルダ内のファイルをランダムに取り出したい

VB6です。 イベントで、選んだフォルダ内の音源ファイルをランダムに鳴らすコードを書きました。 Dim MusPath As String Dim n As Integer Dim sou As String File1.Pattern = "*.*": n = File1.ListCount Randomize sou = Int(Rnd * n) + 1 MusPath = File1.path + IIf(Right(File1.path, 1) = "\", "", "\") + sou + ".wav" 以下略 一見しておわかりの通り、該当するフォルダ内のファイル名は1~nまでの連番でなければいけません。 これを発展させて、曲名のついたファイルが不定数格納されているフォルダからランダムに一曲取り出すようなプログラムを作りたいと思っていますが、MSDNライブラリとか見てもイマイチよくわかりません。 お教えいただければ幸いです。 よろしくお願いします。

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

  • ベストアンサー
  • unamana19
  • ベストアンサー率62% (56/89)
回答No.2

ここまでできているなら、 File1.List(sou - 1)で、ファイル名が取得できますね。

cs-megami
質問者

お礼

できました! 意外と簡単なことだったんですね。 すぐ近くにあるものを探し回っていたみたいで、恥ずかしいです^^; ありがとうございました。

その他の回答 (1)

noname#39970
noname#39970
回答No.1

ファイル名一覧を配列に格納 該当フォルダ内のファイル数を用いて乱数発生を行い 該当配列からファイル名を取り出す

cs-megami
質問者

お礼

#2さんの助言で解決しましたが、この方法も勉強のために試してみたいと思います。 ありがとうございました。

関連するQ&A