ファイルのサイズを取得する
ファイルのサイズを取得するサンプルです。
サンプルの実行画面
ソースコード
[FileSize.frm]
'CreateFile=>ファイルをオープンしてそのハンドルを取得する '<引数> 'lpFileName ファイル名 'dwDesiredAccess アクセス方法 'dwShareMode ファイルの共有モード 'lpSecurityAttributes SECURITY_ATTRIBUTES構造体 'dwCreationDisposition 同一ファイル名が存在する時の処理方法 'dwFlagsAndAttributes ファイルの属性 'hTemplateFile 常に0 '<戻り値> 'ファイルのハンドル Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDistribution As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long 'GetFileSize=>ファイルのサイズを取得する ' hFile ファイルのハンドル 'lpFileSizeHigh ファイルのサイズが格納される変数 '<戻り値> '正常終了-1以外 Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long 'CloseHandle=>ファイルのハンドルを解放する '<引数> 'hObject ファイルのハンドル '<戻り値> '正常終了1 Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Type SECURITY_ATTRIBUTES nLength As Long '構造体のサイズ lpSecurityDescriptor As Long ' bInheritHandle As Long '1の時属性を継続 End Type Const OPEN_EXISTING = 3 'ファイルをオープンする Private Sub Command1_Click() Dim SA As SECURITY_ATTRIBUTES 'SECURITY_ATTRIBUTES構造体 Dim Ret As Long '戻り値 Dim hFile As Long 'ファイルのハンドル Dim FileSize As Long 'ファイルのサイズ If Text1.Text = vbNullString Then MsgBox "ファイル名を記入してください" Exit Sub End If '構造体のサイズを設定 SA.nLength = Len(SA) 'ファイルのハンドルを取得する hFile = CreateFile(Text1.Text, _ 0, _ 0, _ SA, _ OPEN_EXISTING, _ 0, _ 0) 'ファイルのサイズを取得する Ret = GetFileSize(hFile, FileSize) If Ret = -1 Then MsgBox "取得出来ませんでした" Else MsgBox "ファイルのサイズは" & Format(Ret, "##,#") & "KBです。" End If 'ファイルのハンドルを解放する Ret = CloseHandle(hFile) End Sub
ソースコード一式のダウンロード
vbapi_filesize.zip 1.38 KB (1,422 バイト)
このサンプルの動作環境について
このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
前の記事: | デスクトップにショートカットを作成する |
次の記事: | ファイルの属性を取得する |
公開日:2015年03月04日
記事NO:00340