Countメソッドにてカウント出来る最大値を
ご存知の方いらっしゃいますか?
下記例で、tempフォルダ内のファイル数を
カウントしているんですが、
Long型の最大値に達する前にオーバーフロー
してしまいます。(戻り値を返すと落ちます)
Countメソッドの限界値ってあるのでしょうか?
詳しい方、ぜひアドバイスを頂けないでしょうか。
宜しくお願い致します。
<例>
Private Sub Countbutton_Click()
On Error GoTo ErrHandler
Dim longCount As Long
DATA_PASS = "C:\temp"
longCount = GetFileCount(DATA_PASS)
Exit Sub
'エラーハンドラー
ErrHandler:
ret = MsgBox(Err.Description, vbCritical, "警告")
ret = MsgBox("予期せぬエラー発生", vbCritical, "警告")
End Sub
Function GetFileCount(CountFolder)
Dim FileCountCheck As Object
Dim FileCountCheck_Folder As Object
Dim FileCountCheck_FolderInfo As Object
Set FileCountCheck = CreateObject("Scripting.FileSystemObject")
Set FileCountCheck_Folder = FileCountCheck.GetFolder(CountFolder)
Set FileCountCheck_FolderInfo = FileCountCheck_Folder.Files
'ファイル数チェック
GetFileCount = FileCountCheck_FolderInfo.Count
End Function
Function GetFileCount(CountFolder)
を
Function GetFileCount(CountFolder) As Long
としてみてください。
GetFileCount = FileCountCheck_FolderInfo.Count
ここでエラーが起きているとすれば、それが原因かもしれません。
rakiさんご指摘事項有難う御座います。
Function GetFileCount(CountFolder) As Long
という書き方が出来るんですか!
初心者なので知りませんでした。
試してみます。
> Function GetFileCount(CountFolder) As Long
> という書き方が出来るんですか!
いや、しなきゃダメなんだよ。
ツイート | ![]() |