ファイルのサイズを取得する
ファイルのサイズを取得するサンプルです。
サンプルの実行画面
ソースコード
[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
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |









