実現したいこと
所定フォルダのファイル容量を取得し、Excelへ書込むプログラムの高速化をしたいと考えております。
お力添えをお願いします。
●現状
所定フォルダのファイル容量を取得し、Excelへ書込むプログラムを作成しました。
内容:フォルダのフルパスをVBAコードへ入力し、ボタン実行すると、Excelへ取得情報を書き込む
発生している問題
プログラムは作成し動作はすのですが、以下問題が発生
ファイル数が200以上ある場合、処理に時間を要してしまいます。
該当のソースコード
VBA
1Private Sub btnAction_Click() 2 strPath = "C:\" '対象フォルダのフルパス入力 3 shtFile.Cells(8, 2) = " " 4 Range("A8", ActiveCell.SpecialCells(xlLastCell)).ClearContents 5 Range("A8").Select 6 i = 8 7 FileDisp strPath, i 8End Sub 9 10Private Sub FileDisp(strPath, i) 11 Set objFs = CreateObject("Scripting.FileSystemObject") 12 Set objFld = objFs.GetFolder(strPath) 13 For Each objFl In objFld.Files 14 shtFile.Cells(i, 2) = objFs.GetBaseName(objFl.Path) 15 shtFile.Cells(i, 3) = objFl.ParentFolder.Path 16 shtFile.Cells(i, 4) = Int(objFl.Size / 1024) 17 shtFile.Cells(i, 5) = objFl.Type 18 i = i + 1 19 Next 20 For Each objSub In objFld.SubFolders 21 FileDisp objSub.Path, i 22 Next 23 Range("J2") = Date 24 25End Sub 26
###追加△1
●以下フォルダパスで実行したところ、以下取得できないフォルダ、ファイルが発生してしまいました。1つのケースを抜粋させていただきます。
対象フォルダには、QR自動作成VBAフォルダ※格納ファイル:QRコード作成.xlsm
があるのですが、実行結果には記載されていませんでした。
●対象フォルダ:C:\Users\苗字\Desktop\名前\00_VBA※苗字、名前は自分の名前の為、伏せさせていただきます。
###追加△2
回答者のhatena19さんのやり方をトライしたのですが、一部取得出来ない為改めて相談させていただきます。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/15 23:53