ExcelLogger-[エクセルの変更履歴を取得するツール]

NAME

ExcelLogger– [Excelの変更履歴を取得するツール(モジュール)]

作成日:2021/2/4更新日:2021/2/4動作環境:[Excel 2000-2016]

SYNOPSIS

ダウンロードしたエクセルファイルを開き、[ThisWorkbook]内のコードをコピーして、変更履歴を取得したいエクセルファイルの[ThisWorkbook]内に貼り付けを行う。

その後、ログファイルの場所を指定する。

DESCRIPTION


AN OUTLINE — 概要

 エクセルファイルの変更履歴を取得するツールです。
 このツールは、エクセルファイル内にある、セル値が変更されたタイミングで実行され、変更前の値と変更後の値をログファイルに書き込みます。

 変更履歴が必要な書類など、気密性の高いエクセルファイルに設定することで、いつ、だれが、どこを、どの様に変更したかを追うことが出来ます。

主な機能:
・セルの値が変更されたタイミングで、変更前と変更後の値をログファイルに書き込む。
・ユーザ名、コンピュータ名を取得してログファイルに書き込む。
・エクセルファイルを開いた時間と閉じた時間を、ログファイルに書き込む。

取得できない情報:
・範囲を選択して削除


PREPARATION — 準備

[DOWNLOAD] から、本ExcelBookをダウンロードします。

ダウンロードが完了したらzipファイルを解凍してください。そこに実行ファイルが含まれています。


HOW TO USE — 使用方法

 ダウンロードが完了したらマクロを有効にして開いてください。その中にある[ThisWorkbook]内に本モジュールが含まれています。

※[ThisWorkbook]内のコードをコピーして、別エクセルファイルの[ThisWorkbook]に張り付けることで、そのエクセルファイルの変更履歴を取得することが出来ます。

※最初に本エクセルファイルを立ち上げたときから、”c:\temp\hoge.log”へのログ取得が始まりますので注意してください。[c:\temp]フォルダが無い場合エラーが出ますので無視してください。

 最初にログファイルの場所を指定します。
 ログファイルの記述は15行目に記載されており、ここのファイルパスを任意に変更します。

        Const CONST_FILE_PATH As String = "c:\temp\hoge.log"

  

○ログファイルへの記述内容

 ログファイルには、下記情報がタブ区切りにて書き込まれます。

        1列目:日時
2列目:コンピュータ名
3列目:ログインユーザ名
4列目:エクセルファイルパス
5列目:変更箇所のシート名
6列目:変更情報(Open|Close|New|Change|Delete)
7列目:変更箇所のアドレス
8列目:変更前情報
9列目:変更後情報

  

○1列目:日時

 1列目に記載される日付は下記フォーマットで書き込まれます。

        "yyyy/mm/dd hh:mm:ss"

  

○2列目:コンピュータ名、3列目:ログインユーザ名

 2列目に記載されるのは、エクセルファイルに変更を与えたコンピュータ名が書き込まれます。
 3列目に記載されるのは、エクセルファイルに変更を与えたログインユーザ名が書き込まれます。

        ASUS        shimohata

  

○4列目:エクセルファイルパス、5列目:変更箇所のシート名

 4列目に記載されるのは、対象のエクセルファイルのフルパスが書き込まれます。
 5列目に記載されるのは、変更があったシート名の値が書き込まれます。

        D:\Logger.xlsm        Sheet1

  

○6列目:変更情報について

 6列目に記載される変更情報には(Open|Close|New|Change|Delete)があり、それぞれ下記の意味を持ち合わせています。

        Open:対象のエクセルファイルを開いた時に記録されます。
Close:対象のエクセルファイルを開いた時に記録されます。
New:空白のセルに新しい値を記入した時に記録されます。
Change:セル値に変更があった時に記録されます。
Delete:セル値が空白になった時に記録されます。

  

○7列目:変更箇所のアドレス

  7列目に記載されるのは、変更があったセル番地(A1形式)が書き込まれます。

        $A$1

  

○8列目:変更前情報、9列目:変更後情報

 8列目に記載されるのは、変更前の値が書き込まれます。新規に書き込まれる場合、この箇所には空白が書き込まれます。
 9列目に記載されるのは、変更後の値が書き込まれます。削除された場合、この箇所には空白が書き込まれます。

        新規書き込み:         1
値の変更  :1 10
値の変更  :=SUM(A1:A3) =SUM(A1:A2)
値の変更  :=A1+A2 =A1+A2+A3
削除    :1

  


EXAMPLE — 使用例

例1:ログファイルの表示例

2021/02/04 15:34:03 ASUS shimohata D:\Logger.xlsm Open 
2021/02/04 15:34:09 ASUS shimohata D:\Logger.xlsm Sheet1 New $A$1 1
2021/02/04 15:34:10 ASUS shimohata D:\Logger.xlsm Sheet1 New $A$2 2
2021/02/04 15:34:10 ASUS shimohata D:\Logger.xlsm Sheet1 New $A$3 3
2021/02/04 15:34:24 ASUS shimohata D:\Logger.xlsm Sheet1 New $A$7 =SUM(A1:A3)
2021/02/04 15:34:30 ASUS shimohata D:\Logger.xlsm Sheet1 Change $A$7 =SUM(A1:A3) =SUM(A1:A2)
2021/02/04 15:34:32 ASUS shimohata D:\Logger.xlsm Sheet1 Delete $A$7 =SUM(A1:A2)
2021/02/04 15:34:35 ASUS shimohata D:\Logger.xlsm Sheet1 Change $A$1 1 10
2021/02/04 15:34:36 ASUS shimohata D:\Logger.xlsm Sheet1 Change $A$2 2 20
2021/02/04 15:34:37 ASUS shimohata D:\Logger.xlsm Sheet1 Change $A$3 3 30
2021/02/04 15:34:45 ASUS shimohata D:\Logger.xlsm Sheet1 New $C$1 =A1+A2
2021/02/04 15:34:50 ASUS shimohata D:\Logger.xlsm Sheet1 Change $C$1 =A1+A2 =A1+A2+A3
2021/02/04 15:34:53 ASUS shimohata D:\Logger.xlsm Sheet1 Delete $A$1 10
2021/02/04 15:34:53 ASUS shimohata D:\Logger.xlsm Sheet1 Delete $A$2 20
2021/02/04 15:34:54 ASUS shimohata D:\Logger.xlsm Sheet1 Delete $A$3 30
2021/02/04 15:34:55 ASUS shimohata D:\Logger.xlsm Sheet1 Delete $C$1 =A1+A2+A3
2021/02/04 15:35:04 ASUS shimohata D:\Logger.xlsm Close

  


REFERENCE

NameDescriptionSyntax

ATTENTION

・本ソフトを利用した事によるいかなる損害も一切の責任を負いません。

・感想や要望、不具合などありましたら、作者までご連絡ください。


MEMO

本ソフトの[readme.txt]に「NAME/VERSION/AUTHOR/COPYRIGHT」が記載されています。


CONTRIBUTION

寄付歓迎

 本モジュールはフリーですが、「このモジュールのおかげで、素晴らしいソフトが作れた」など、寄付をしていただける方がいましたら、作者宛までご一報ください。


DOWNLOAD

<<—DOWNLOAD ExcelLogger—>>


VERSION

1.00 – Wed Feb 4, 2021


AUTHOR

Syunzi Shimohata < webmaster@taru-net.jp > https://www.taru-net.jp/