【VBA】ファイルの日付を取得する方法

はじめに

こんにちは新米プログラマーZakiです。

今回はファイルを操作するオブジェクトについて紹介したいと思います。

DateCreatedというプロパティを使うと作成日時を取得することが出来ます。

またその作成日時を使用してファイルを処理することもできます。

このプロパティは使い方次第で日々の業務効率を改善するプログラムになります。

では早速そのプロパティを使用したプログラムを見ていきましょう。

 

ファイルの日時取得について

準備

1. まずVBA作成画面に移動します。

2. 『ツール』タブ→『参照設定』を選択

3. 参照設定の中に『Microsoft Scripting Runtime』という項目があるのでそれにチェックを入れる。

→ 

 

これで準備は完了です。

 

プログラムを作ってみよう

まず変数を定義する必要があります。

ここで必要な変数は以下の3つです。

FileSystemObjectはファイルを操作する変数です。

DateFileはファイル名を格納する変数です。

LimitedDateは作成日時を格納する変数として定義します。

実装は以下のように書くことでファイルの作成日時を取得出来ます。

これで一先ず作成日時は取得出来ますが、これだけでは、実践でどのように使えばいいかわかりません。

次に実際にどのようにこのコードを使うかを紹介していきましょう。

 

サンプルコード

プログラムの流れ

1. 拡張子『.xlsx』ファイルをDirで検索する

2. そのファイルの作成日時を取得

3. 作成日時が〇〇時間以内ならばそのファイルを処理する

4. 1に戻る(『.xlsx』ファイルの検索が終了するまで1-3を繰り返す)

 

このプログラムは毎日処理しなければいけないファイルがある場合に有効です。

 

実際のプログラム

まず入力フォームとして下図を用意します。

今回は例として

入力パス:H:\VBA\Time

遡る時間:700時間

としています。

このパス内には以下のようなエクセルファイルが格納されています。

今回700時間以内に作成されたファイルは

  • Test(2)
  • Test(15)
  • Test(16)

ということになります。

プログラムは以下を用意します。

これを実行すると…

『Output』とかかれたところに700時間以内に作成されたファイルが記載されます。

 →  

このプログラムでは下記箇所で700時間以内に作成されたファイルを処理しています。

プログラムを変更したい場合はここのコードを編集すればOKです。

私はこのようなプログラムを使用して以下のことを実践しています。

  • 毎日のデータ処理・分析
  • ファイルのバックアップ

毎日のことになると少量の作業でも積み重ねると大量の時間を費やしてしまうことがあるので、1つこういうプログラムを作っておくと日々のタスクが減ります。

 

是非参考にしてみてください。m(__)m

zaki_blog

Marketの市況および趣味のプログラミングをメインにブログ運営していきます。 現在28歳兼業投資家で、普段は電気関係、プログラミング関係(システム制御)の開発を行っています。 最近は未開拓分野であるWeb系のプログラミングに興味があり、勉強をはじめました。 まだまだ未熟者ですが、より良い情報を届けられるように精進致します。 最近は自動売買システムや統計学に興味があります。 それらの分野の人たちと繋がりを持ちたいです! どうぞよろしくお願いします!

あわせて読みたい

コメントを残す

メールアドレスが公開されることはありません。