フォルダサイズの大きい順に並べ替えについて

【環境】Windows10 Enterprise 2016 LTSB 【状況】 Windows10には、フォルダのサイズ...

Prome_Lin さんからの 回答

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

  • 2019-02-10 16:01:49
  • 回答No.4
Prome_Lin

ベストアンサー率 42% (201/469)

ルートディレクトリ(フォルダ)、すなわち「C:\」や「D:\」には、システムフォルダが存在するので、エラーが出ます。

「z」サブプロシージャを、以下に置き換えてください。

Sub z
For Each f In gf.SubFolders
If f.Attributes <> 22 Then
c = c + 1
ReDim Preserve n(c)
ReDim Preserve s(c)
n(c) = f
s(c) = f.Size
Set gf = Nothing
Set gf = so.GetFolder(f)
Call z
End If
Next
End Sub

システムフォルダは、処理しないようにしました。
補足コメント
Engineer480907

お礼率 72% (566/777)

ありがとうございます。

ローカルディスクであったり、外付HDDを接続した場合、直下で実行するとエラーになりますが、ネットワークドライブの場合はエラーにはなりませんでした。

実行したい場所はネットワークドライブとローカルディスクになりますが、Cドライブは非表示にしているため、そこにファイル、フォルダを作成することはないので、問題はなく、ローカルディスクとしてEドライブがありますが、Eドライブ直下ではなく、E:\ユーザーIDの下にフォルダ、ファイルを作成するので大丈夫のようです。

3連休明けに実際の環境で試してみることにします。
投稿日時 - 2019-02-10 16:47:33
お礼コメント
Engineer480907

お礼率 72% (566/777)

ありがとうございます。

zサブプロシージャを置き換えましたが「行:5 文字:2 エラー:書き込みできません。コード:800A0046 」になります。
投稿日時 - 2019-02-10 16:32:20
この回答にこう思った!同じようなことあった!感想や体験を書こう!
この回答にはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
ページ先頭へ