SetAttr
SetAttr関数はファイルやフォルダの属性を設定する際に利用します。
属性の定数を+で繋いで複数の属性を1度に設定することも可能です。
構文
Sub SetAttr(PathName As String, Attributes As VbFileAttribute)
PathName | 属性を設定したいファイルやフォルダのパスを指定します。ファイル名だけを指定した場合はカレントフォルダにあるファイルが対象になります。 |
Attributes | 設定したい属性をVbFileAttribute列挙型の定数で指定します。定数の値をそのまま設定することも可能です。
複数の属性を設定したい場合は各定数を+で繋いで記述します。 フォルダにはvbHidden、vbSystem、vbArchiveの3つが指定可能です。 属性が設定されているフォルダを通常フォルダの状態に戻したい場合はvbNormalを設定します。 |
VbFileAttribute列挙型
定数 | 値 | 内容 |
---|---|---|
vbNormal | 0 | 通常ファイル、通常フォルダ |
vbReadOnly | 1 | 読み取り専用ファイル |
vbHidden | 2 | 隠しファイル(フォルダ指定可) |
vbSystem | 4 | システムファイル(フォルダ指定可) |
vbVolume | 8 | ボリュームファイル(使いません) |
vbDirectory | 16 | フォルダ |
vbArchive | 32 | アーカイブ(フォルダ指定可) |
vbAlias | 64 | エイリアス(Macのみ。Windowsのショートカット) |
アーカイブとは
Windowsにはバックアップを行う機能が付属しています。
そのバックアップ機能を行う際に、アーカイブ属性が付いていればバックアップ対象となります。
アーカイブ属性が付いていない場合は通常バックアップや増分バックアップを行った場合です。
基本的にはアーカイブ属性は触らないようにしておく方がいいです。
サンプルコード
属性を1つだけ設定する場合と複数設定する場合の2通りについてサンプルコードを紹介します。
属性を1つ設定するサンプルコード
1 2 3 4 5 6 7 |
Sub SetAttrTest1() Dim sFilePath sFilePath = "V:\test\a" Call SetAttr(PathName:=sFilePath, Attributes:=vbArchive) End Sub |
属性を複数設定するサンプルコード
6行目で属性を+で連結して複数指定しています。
1 2 3 4 5 6 7 |
Sub SetAttrTest2() Dim sFilePath sFilePath = "V:\test\a" Call SetAttr(PathName:=sFilePath, Attributes:=vbReadOnly + vbHidden + vbArchive) End Sub |