VB6・VBA関数メモ:SetAttrステートメント

SetAttrステートメントについてメモしておきます。

この関数はフォルダやファイルの属性を設定する際に使用します。

属性はOR演算子で複数指定可能です。


概要

SetAttr(PathName As String, Attributes As VbFileAttribute)
機能 フォルダやファイルの属性を設定
引数 PathName フォルダやファイルのパス
String型
Attributes 属性を表す整数
OR演算子で複数指定可能
VbFileAttribute列挙型
戻り値 なし


VbFileAttribute列挙型

定数名 説明
vbNormal 0 標準ファイルを取得
vbReadOnly 1 読み込み専用ファイル
vbHidden 2 隠しファイル
vbSystem 4 システムファイル (Macintosh不可)
vbArchive 32 アーカイブ (属性最後にバックアップした後で、変更されたファイル) (Macintosh不可)
vbAlias 64 エイリアス ファイル (Macintoshのみ)


使用例

説明 記述例 出力
ファイルを通常ファイルに設定
Call SetAttr("E:¥File.txt", vbNormal)

ファイルを読み取り専用ファイルに設定
Call SetAttr("E:¥File.txt", vbReadOnly)

ファイルを隠しファイルに設定
Call SetAttr("E:¥File.txt", vbHidden)

ファイルを読み取り専用+隠しファイルに設定
Call SetAttr("E:¥File.txt", vbReadOnly Or vbHidden)



動作検証

説明 記述例 出力
存在しないパスを指定するとエラー
On Error GoTo ERR_HANDLER

Call SetAttr("E:¥NoFile.txt", vbReadOnly)

ERR_HANDLER:

If Err > 0 Then Debug.Print Error
ファイルが
見つかりません。
ファイルを読み込みモードでオープン中はロック時でも使用可能
On Error GoTo ERR_HANDLER

'ファイルオープン
Dim n   As Integer
n = FreeFile
Open "E:¥File.txt" For Input Lock Read Write As #n

Call SetAttr("E:¥File.txt", vbReadOnly)

ERR_HANDLER:

'ファイルを閉じる
Close #n

If Err > 0 Then Debug.Print Error

ファイルを書き込みモードでオープン中は使用不可
On Error GoTo ERR_HANDLER

'ファイルオープン
Dim n   As Integer
n = FreeFile
Open "E:¥File.txt" For Output As #n

Call SetAttr("E:¥File.txt", vbReadOnly)

ERR_HANDLER:

'ファイルを閉じる
Close #n

If Err > 0 Then Debug.Print Error
ファイルは
既に開かれています。


コメント
コメントする








    
この記事のトラックバックURL
トラックバック