GetAttr 関数

更新 : 2007 年 11 月

ファイル、ディレクトリ、またはフォルダの属性を表す FileAttribute 型の値を返します。

My 機能を使用すると、FileAttribute を使用するよりもファイル I/O 処理の生産性とパフォーマンスが格段に向上します。詳細については、「My.Computer.FileSystem オブジェクト」を参照してください。

Public Function GetAttr(ByVal PathName As String) As FileAttribute

パラメータ

  • PathName
    必ず指定します。ファイル名、ディレクトリ名、フォルダ名を指定する文字列 (String) 式です。PathName にはディレクトリ名またはフォルダ名、およびドライブ名も含めて指定できます。

戻り値

GetAttr によって返される値は、次の表に示す列挙型値の合計です。

定数

説明

Normal

vbNormal

通常。

ReadOnly

vbReadOnly

読み取り専用です。

Hidden

vbHidden

隠しファイル。

System

vbSystem

システム ファイル。

Directory

vbDirectory

ディレクトリまたはフォルダ。

Archive

vbArchive

前回のバックアップ以降に変更されているファイル。

Alias

vbAlias

他の名前が付いているファイル。

hds568h4.alert_note(ja-jp,VS.90).gifメモ :

ここに示した列挙型値は、Visual Basic 言語で設定されています。これらの名前は、実際の値の代わりにコード内のどの部分でも使用できます。

例外

例外の種類

エラー番号

条件

IOException

52

Pathname が無効です。またはワイルドカードを含んでいます。

FileNotFoundException

53

対象のファイルが存在しません。

非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、"エラー番号" の列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と比較することもできます)。ただし、可能であれば、このようなエラー制御は Visual Basic の構造化例外処理の概要 に置き換えることを検討してください。

解説

どの属性が設定されているかを調べるには、And 演算子を使って、GetAttr 関数によって返される値と、調べる対象となる個々のファイル属性の値をビットごとに比較します。結果が 0 以外の場合は、その属性がファイルに設定されています。たとえば、Archive 属性が設定されていない場合、次の And 式の戻り値は 0 です。

Result = GetAttr(FName) And vbArchive

Archive 属性が設定されている場合は、0 以外の値が返されます。

使用例

GetAttr 関数を使って、ファイルおよびディレクトリまたはフォルダの属性を調べるコード例を次に示します。

Dim MyAttr As FileAttribute
' Assume file TESTFILE is normal and readonly.
MyAttr = GetAttr("C:\TESTFILE.txt")   ' Returns vbNormal.

' Test for normal.
If (MyAttr And FileAttribute.Normal) = FileAttribute.Normal Then
   MsgBox("This file is normal.")
End If

' Test for normal and readonly.
Dim normalReadonly As FileAttribute
normalReadonly = FileAttribute.Normal Or FileAttribute.ReadOnly
If (MyAttr And normalReadonly) = normalReadonly Then
   MsgBox("This file is normal and readonly.")
End If

' Assume MYDIR is a directory or folder.
MyAttr = GetAttr("C:\MYDIR")
If (MyAttr And FileAttribute.Directory) = FileAttribute.Directory Then
   MsgBox("MYDIR is a directory")
End If

スマート デバイス開発者のためのメモ

この関数はサポートされていません。

必要条件

名前空間 : Microsoft.VisualBasic

**モジュール :**FileSystem

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)

参照

参照

And 演算子 (Visual Basic)

FileAttr 関数

SetAttr 関数

IOException

FileNotFoundException

FileAttribute 列挙型

その他の技術情報

Visual Basic におけるファイル、ディレクトリ、およびドライブのプロパティ