GetAttr関数 : Access

Access GetAttr関数はファイルまたはフォルダの属性を整数で返します。

BackHome BackAccess関数


■ 構文
GetAttr(pathname)

■ 引数
pathname : (必須) ファイル名かフォルダ名を表す文字列を指定します。

■ 戻り値
  • vbNormal (0) 通常ファイル
  • vbReadOnly (1) 読み取り専用ファイル
  • vbHidden (2) 隠しファイル
  • vbSystem (4) システム ファイル。Macintosh では使用できません
  • vbDirectory (16) フォルダ
  • vbArchive (32) アーカイブ (属性最後にバックアップした後で、変更されたファイル)。
    Macintosh では使用できません
  • vbAlias (64) エイリアス ファイル。Macintosh でのみ使用できます

■ Access実行画面

「ファイルの属性を取得」ボタンをクリックすると、ファイル選択ダイアログが開くので、属性を取得したいファイルを選択します。
「フォルダの属性を取得」ボタンをクリックすると、フォルダ選択ダイアログが開くので、属性を取得したいフォルダを選択します。
ファイル又はフォルダの属性を取得するアクセスフォーム

ファイルの属性を取得する場合の、ファイル選択ダイアログ
「Microsoft Office 12.0 Object Library」を使用しています。
Office Object Library を使用したファイル選択ダイアログ

取得した属性をメッセージボックスで表示します。
アーカイブ属性であることを表示したMSGBOX

フォルダの属性を取得する場合の、フォルダ選択ダイアログ
「Microsoft Office 12.0 Object Library」を使用しています。
Office Object Library を使用したフォルダ選択ダイアログ

取得した属性をメッセージボックスで表示します。
フォルダ属性を取得しています。

■ Access実行コード
Option Compare Database
Private Function SelectFolder_FileDialog() As String
    Dim dlgfolder As FileDialog
    'ダイアログのタイトル
    Application.FileDialog(msoFileDialogFolderPicker).Title = "フォルダを選択してください"
    '初期のフォルダ
    Application.FileDialog(msoFileDialogFolderPicker).InitialFileName = "c:\"
    If Application.FileDialog(msoFileDialogFolderPicker).show = -1 Then
        'ファイルが選択された
        SelectFolder_FileDialog = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
    Else
        SelectFolder_FileDialog = ""
    End If
End Function
Private Function SelectFile_FileDialog() As String
    Dim dlgfolder As FileDialog
    'ダイアログのタイトル
    Application.FileDialog(msoFileDialogFilePicker).Title = "ファイルを選択してください"
    '初期のフォルダ
    Application.FileDialog(msoFileDialogFilePicker).InitialFileName = "c:\"
    '一つのファイルのみ選択可能
    Application.FileDialog(msoFileDialogFilePicker).AllowMultiSelect = False
    If Application.FileDialog(msoFileDialogFilePicker).show = -1 Then
        'ファイルが選択された
        SelectFile_FileDialog = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
    Else
        SelectFile_FileDialog = ""
    End If
End Function
'属性を取得
Private Sub MyGetAttr(sf As String)
    Dim nRet As Integer
    Dim smsg As String
    nRet = GetAttr(sf)
        Select Case nRet
        Case vbNormal:  smsg = "通常ファイル"
        Case vbReadOnly: smsg = "読み取り専用ファイル"
        Case vbHidden: smsg = "隠しファイル"
        Case vbSystem: smsg = "システム ファイル。Macintosh では使用できません"
        Case vbDirectory: smsg = "フォルダ"
        Case vbArchive: smsg = "アーカイブ (属性最後にバックアップした後で、変更されたファイル)。Macintosh では使用できません"
        Case vbAlias: smsg = " エイリアス ファイル。Macintosh でのみ使用できます。"
    End Select
            MsgBox smsg
End Sub
'ファイル属性を取得
Private Sub コマンド0_Click()
    Dim sfina As String
        sfina = SelectFile_FileDialog
    If sfina <> "" Then
        MyGetAttr (sfina)
    End If
End Sub
'フォルダ属性を取得
Private Sub コマンド1_Click()
    Dim sdir As String
        sdir = SelectFolder_FileDialog
    If sdir <> "" Then
        MyGetAttr (sdir)
    End If
End Sub

BackHome BackAccess関数

Copyright(C) FeedSoft