関数・メソッド

ファイルの属性を取得する【GetAttr関数】【ExcelVBA】

構文

GetAttr (pathname

pathname・・・・・対象のファイル名をフルパスで指定。

GetAttr関数はファイルの属性を取得します。ファイル属性を設定する場合は SetAttr関数 です。

属性の判断は下記の定数を使用します。

属性を表す定数
定数内容
vbNormal0通常ファイル
vbReadOnly1読み取り専用
vbHidden2隠しファイル
vbSystem4システムファイル
vbDirectory16ディレクトリ(フォルダ)
vbArchive32アーカイブ

GetAttrステートメントのサンプルコード

Public Sub sample()
    Dim tmp As Long
    
    '■ファイルの属性を取得
    tmp = GetAttr("C:\vba\sample.xlsx")

    '■各属性のチェック。複数設定されていれば複数取得する。
    If tmp And vbReadOnly Then Debug.Print "読み取り専用"
    If tmp And vbHidden Then Debug.Print "隠しファイル"
    If tmp And vbSystem Then Debug.Print "システムファイル"
    If tmp And vbDirectory Then Debug.Print "フォルダ"
    If tmp And vbArchive Then Debug.Print "アーカイブ"
End Sub

注意点

  • 引数をフルパスで指定しなかった場合は、カレントフォルダを指定したこととみなします。
  • 戻り値は数値の合計値です。その為複数の属性が設定されていれば、合計値から判断します。

関連記事

コメント

タイトルとURLをコピーしました