ファイルの種類を調べる
Windowsが拡張子の関連付けから判断したファイルの種類の表示名を調べます。
実行前に確認
- Windows専用の例です。C:\Dataは例なので、自分で用意した練習用フォルダーの絶対パスに変更してください。
- Typeは中身を解析した判定ではありません。同じ拡張子でもインストール済みアプリやWindowsの言語で表示名が変わります。
1サンプルコード
Sub Example4017()
On Error GoTo Failed
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim filePath As String
filePath = "C:\Data\sample.txt"
If Not fso.FileExists(filePath) Then
MsgBox "ファイルがありません: " & filePath
Exit Sub
End If
MsgBox fso.GetFile(filePath).Type
Exit Sub
Failed:
MsgBox "処理を中止しました: " & Err.Description
End Sub図で見る操作の流れ
イメージ図概念図:Windowsの関連付けに基づく種類名を読みます。
対象
C:\Data\sample.txt
マクロ:確認と取得
存在を確認し、GetFile(...).Typeを読む
結果
環境に応じたファイルの種類名を表示
ファイルがなければ終了。中身を解析する判定ではなく、内容やファイル名は変化しません。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
Windows版のデスクトップExcelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]に、この例だけを貼り付けます。
- 2
filePathを調べたいファイルへ変えます。
- 3
実行するSubの内側にカーソルを置き、F5キーを押します。
- 4
種類名が表示されます。エクスプローラーの「種類」欄と比較します。