ファイル属性の取得・設定(GetAttr 関数・SetAttr ステートメント)
ファイル属性の取得(GetAttr 関数)
ファイルやフォルダ(ディレクトリ)の属性を調べるには GetAttr 関数を使用します。
<取得>
GetAttr ( pathname )
引数・戻り値
- pathname ・・・ 属性を調べたいファイル、ディレクトリまたはフォルダの名前を文字列式で指定します。パスやドライブを含めることもできます。
- 戻り値 ・・・ VbFileAttribute 列挙型 の定数の値の合計値。
定数
値
内容
vbNormal
0
標準
vbReadOnly
1
読み取り専用
vbHidden
2
非表示
vbSystem
4
システムファイル(Macintosh では使用不可)
vbDirectory
16
ディレクトリまたはフォルダ
vbArchive
32
前回のバックアップ以降に変更されているファイル(Macintosh では使用不可)
vbAlias
64
指定したファイル名がエイリアスとして設定されているファイル(Macintosh のみ)
設定されている属性を確認するには、And 演算子を使用してビット単位の比較を行います。GetAttr 関数から返される値と対象の個々のファイル属性の値を比較し、結果が 0 以外の場合は、指定したファイルに対してその属性が設定されています。
- pathname ・・・ 属性を調べたいファイル、ディレクトリまたはフォルダの名前を文字列式で指定します。パスやドライブを含めることもできます。
- 戻り値 ・・・ VbFileAttribute 列挙型 の定数の値の合計値。
定数 値 内容 vbNormal 0 標準 vbReadOnly 1 読み取り専用 vbHidden 2 非表示 vbSystem 4 システムファイル(Macintosh では使用不可) vbDirectory 16 ディレクトリまたはフォルダ vbArchive 32 前回のバックアップ以降に変更されているファイル(Macintosh では使用不可) vbAlias 64 指定したファイル名がエイリアスとして設定されているファイル(Macintosh のみ)
設定されている属性を確認するには、And 演算子を使用してビット単位の比較を行います。GetAttr 関数から返される値と対象の個々のファイル属性の値を比較し、結果が 0 以外の場合は、指定したファイルに対してその属性が設定されています。
ファイル属性の設定(SetAttr ステートメント)
ファイルやフォルダ(ディレクトリ)の属性を設定するには、SetAttr ステートメントを使用します。
<設定>
SetAttr pathname, attributes
引数・戻り値
- pathname ・・・ ファイル、ディレクトリまたはフォルダの名前を文字列式で指定します。パスやドライブを含めることもできます。
- attributes ・・・ ファイル属性を指定する VbFileAttribute 列挙型の定数の合計値を指定します。
開いているファイルの属性を設定しようとすると、エラーが発生します。
- pathname ・・・ ファイル、ディレクトリまたはフォルダの名前を文字列式で指定します。パスやドライブを含めることもできます。
- attributes ・・・ ファイル属性を指定する VbFileAttribute 列挙型の定数の合計値を指定します。
開いているファイルの属性を設定しようとすると、エラーが発生します。
GetAttr 関数・SetAttr ステートメント 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 |
Sub Sample_GetAttr() '「tmp」の属性が、vbDirectory(フォルダ)かどうかを確認 MsgBox GetAttr("C:\Documents\tmp") And vbDirectory End Sub |
実行結果
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 |
Sub Sample_SetAttr() '「memo01.txt」ファイルを「隠しファイル」「読み取り専用」に設定 SetAttr "C:\Documents\memo01.txt", vbHidden + vbReadOnly '属性を表示 MsgBox GetAttr("C:\Documents\memo01.txt") End Sub |
実行結果
関連記事
-
-
開いているファイルの現在の読み取り位置または書き込み位置を取得(Seek 関数)
Seek 関数 Open ステートメント で開いたファイル内の現在の読み取り位置 …
-
-
フルパスからファイル名、パスを取得する
フルパスからファイル名のみを取得する フルパスからファイル名を取得するには、Di …
-
-
テキストファイル:出力する 1 行の幅を設定(Width # ステートメント)
Width # ステートメント Open ステートメント をシーケンシャル出力モ …
-
-
「ファイルを開く」ダイアログボックスを表示(GetOpenFilename メソッド)
GetOpenFilename メソッド ファイル名を取得するための、「ファイル …
-
-
Excelでテキストファイルを開く(OpenText メソッド)
Excelでテキストファイルを開く OpenText メソッドで、テキストファイ …
-
-
XlBuiltInDialog 列挙型
XlBuiltInDialog 列挙型 Excel の組み込みダイアログボックス …
-
-
ファイルのタイムスタンプを取得(FileDateTime 関数)
ファイルのタイムスタンプを取得 ファイルのタイムスタンプを取得するには、File …
-
-
「ファイル」ダイアログボックスを表示・設定(FileDialog オブジェクト)
FileDialog オブジェクト FileDialog オブジェクト のメソッ …
-
-
テキストファイル:データを読み込む(Input # ステートメント)
Input # ステートメント Open ステートメント をシーケンシャル入力モ …
-
-
テキストファイル:データを書き込む(Print # ステートメント)
Print # ステートメント Open ステートメント をシーケンシャル出力モ …