「フォルダ内 Excel 数える VBScript」といったキーワード検索でのアクセスがありました。
恐らく指定したフォルダ内にあるExcelファイルをカウントすることが目的だと思いますが、スクリプトでの簡単な処理を考えてみました。
※ 下記コードはサブフォルダ内のExcelファイルはカウントしません。
Option Explicit
Dim args
Dim f
Dim cntXls 'Excel 97-2003 ブック (*.xls)
Dim cntXlsx 'Excel ブック (*.xlsx)
Dim cntXlsm 'Excel マクロ有効ブック (*.xlsm)
Dim cntXlsb 'Excel バイナリ ブック (*.xlsb)
Dim cntXlt 'Excel 97-2003 テンプレート (*.xlt)
Dim cntXltx 'Excel テンプレート (*.xltx)
Dim cntXltm 'Excel マクロ有効テンプレート (*.xltm)
Dim cntXla 'Excel 97-2003 アドイン (*.xla)
Dim cntXlam 'Excel アドイン (*.xlam)
Dim cntCsv 'CSV (*.csv)
'初期化
cntXls = 0
cntXlsx = 0
cntXlsm = 0
cntXlsb = 0
cntXlt = 0
cntXltx = 0
cntXltm = 0
cntXla = 0
cntXlam = 0
cntCsv = 0
Set args = WScript.Arguments
'パラメータ数チェック
If args.Count < 1 Then
WScript.Echo "当スクリプトにフォルダをドラッグ&ドロップして処理を実行してください。"
WScript.Quit
End If
With CreateObject("Scripting.FileSystemObject")
If Not .FolderExists(args(0)) Then
WScript.Echo "フォルダが見つかりません。" & vbCrLf & "あるいはフォルダではありません。"
WScript.Quit
Else
For Each f In .GetFolder(args(0)).Files
Select Case LCase(.GetExtensionName(f.Path))
Case "xls": cntXls = cntXls + 1
Case "xlsx": cntXlsx = cntXlsx + 1
Case "xlsm": cntXlsm = cntXlsm + 1
Case "xlsb": cntXlsb = cntXlsb + 1
Case "xlt": cntXlt = cntXlt + 1
Case "xltx": cntXltx = cntXltx + 1
Case "xltm": cntXltm = cntXltm + 1
Case "xla": cntXla = cntXla + 1
Case "xlam": cntXlam = cntXlam + 1
Case "csv": cntCsv = cntCsv + 1
End Select
Next
End If
End With
WScript.Echo "[" & args(0) & "]フォルダ内にあるExcelファイル数は下記の通りです。" & vbCrLf & vbCrLf & _
"Excel 97-2003 ブック (*.xls):" & cntXls & vbCrLf & _
"Excel ブック (*.xlsx):" & cntXlsx & vbCrLf & _
"Excel マクロ有効ブック (*.xlsm):" & cntXlsm & vbCrLf & _
"Excel バイナリ ブック (*.xlsb):" & cntXlsb & vbCrLf & _
"Excel 97-2003 テンプレート (*.xlt):" & cntXlt & vbCrLf & _
"Excel テンプレート (*.xltx):" & cntXltx & vbCrLf & _
"Excel マクロ有効テンプレート (*.xltm):" & cntXltm & vbCrLf & _
"Excel 97-2003 アドイン (*.xla):" & cntXla & vbCrLf & _
"Excel アドイン (*.xlam):" & cntXlam & vbCrLf & _
"CSV (*.csv):" & cntCsv
上記コードを「vbs」ファイルとして保存し、そのファイルに対象となるフォルダをドラッグ&ドロップすると、下図のようにExcelファイルをカウントした結果が表示されます。
需要があるのかどうかは分かりませんが、大量にファイルがあるフォルダの中で、Excelファイルがどの位あるのか知りたい場合には使えるスクリプトかもしれません。
















この記事へのコメントはありません。