ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

ファイル属性の取得・設定(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 以外の場合は、指定したファイルに対してその属性が設定されています。



ファイル属性の設定(SetAttr ステートメント)

ファイルやフォルダ(ディレクトリ)の属性を設定するには、SetAttr ステートメントを使用します。


【書式】

<設定>
SetAttr pathname, attributes


引数・戻り値

  • pathname  ・・・  ファイル、ディレクトリまたはフォルダの名前を文字列式で指定します。パスやドライブを含めることもできます。
  • attributes  ・・・  ファイル属性を指定する VbFileAttribute 列挙型の定数の合計値を指定します。

開いているファイルの属性を設定しようとすると、エラーが発生します。



GetAttr 関数・SetAttr ステートメント 使用例

サンプルVBAソース


実行結果

GetAttr 関数


サンプルVBAソース


実行結果

SetAttr ステートメント



 - Excel・ファイルの操作 , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

開いているファイルの現在の読み取り位置または書き込み位置を取得(Seek 関数)

Seek 関数 Open ステートメント で開いたファイル内の現在の読み取り位置 …

ファイル名・パス取得
フルパスからファイル名、パスを取得する

フルパスからファイル名のみを取得する フルパスからファイル名を取得するには、Di …

Width # ステートメント
テキストファイル:出力する 1 行の幅を設定(Width # ステートメント)

Width # ステートメント Open ステートメント をシーケンシャル出力モ …

「ファイルを開く」ダイアログボックスを表示(GetOpenFilename メソッド)

GetOpenFilename メソッド ファイル名を取得するための、「ファイル …

Excelでテキストファイルを開く(OpenText メソッド)

Excelでテキストファイルを開く OpenText メソッドで、テキストファイ …

no image
XlBuiltInDialog 列挙型

XlBuiltInDialog 列挙型 Excel の組み込みダイアログボックス …

FileDateTime 関数
ファイルのタイムスタンプを取得(FileDateTime 関数)

ファイルのタイムスタンプを取得 ファイルのタイムスタンプを取得するには、File …

「ファイル」ダイアログボックスを表示・設定(FileDialog オブジェクト)

FileDialog オブジェクト FileDialog オブジェクト のメソッ …

テキストファイル:データを読み込む(Input # ステートメント)

Input # ステートメント Open ステートメント をシーケンシャル入力モ …

テキストファイル:データを書き込む(Print # ステートメント)

Print # ステートメント Open ステートメント をシーケンシャル出力モ …