特定のフォルダー内のファイルをループするこの例があります。
Imports system.IO
Dim Files() as string = Directory.GetFiles("D:\example","*.*",SearchOption.AllDirectories)
For Each S As String in Files
Listbox1.Items.Add(S)
Next
その時点まではすべて問題ありません。しかし、問題はここにあります: ユーザーがトップ フォルダ (ドライブ「D:\」など) を選択した場合、コードは次のようになります。
Imports system.IO
Dim Files() as string = Directory.GetFiles("D:\","*.*",SearchOption.AllDirectories)
For Each S As String in Files
Listbox1.Items.Add(S)
Next
保護されたフォルダ「システム ボリューム情報」にループが到達したため、例外 [UnauthorizedAccessException] が発生し、プログラムが停止します。この例外をスキップして、システム ボリューム情報のような保護されたファイルとフォルダーを除くすべてのファイルでコードをループさせる必要があります。
ご不便をおかけして申し訳ありません....