はじめに
多くの人からファイルを提出してもらい、内容を確認したデータから (事務局 確認済み) とファイル名に印をつけていくような仕事をしています。自分にとっては刺身の上にタンポポを乗せる仕事よりも責任を感じる重要な仕事だと考えていましたが、「それ、自分でもできますよ(by エクセル)」との事で。
人工知能の高度化によって日々お払い箱になっていくのでしょうか...。
といったように、内容が定型化できない地味な情報集約でも確認済みのファイルに印をつけわかるようにしておく状況が多く存在しております。
こんな時に使える
- 確認済みのファイルには印をつけておきたい
期待される動き
関係者が全員アクセスできるフォルダにファイルが提出されるとして、エクセルのマクロを使用して順番にデータを取り込むなどの印をつける作業をするとします。
提出ファイル(営業部).xlsx
提出ファイル(技術部).xlsx
提出が確認されたファイルには下のような●をつけるとしましょう。すると下記のようにファイルに全て●がつきます。
提出ファイル(営業部)●.xlsx
提出ファイル(技術部)●.xlsx
提出ファイル(企画部).xlsx
さらに別の部署からファイルの提出がありました。このファイルだけ取り込むなどの作業がマクロで行われる等のあと、運用次第では確認が2回目であることを明示したいときは●を二つつけたりしますね。
提出ファイル(営業部)●.xlsx
提出ファイル(技術部)●.xlsx
提出ファイル(企画部)●.xlsx
ソースコード
標準モジュール内に記載
Option Explicit
Private Const HANAKUSO As String = "●" ' 見たよマーク
' 見たファイルの末尾に見たよマークをつける
Public Function addMitayo(str As String, _
Optional flgCHAR As String = HANAKUSO, _
Optional surpressDup As Boolean = False) As String
Dim posLastDot As Integer
Dim strExt As String
' ファイル名を調べ拡張子以外の文字数を調べる
posLastDot = InStrRev(str, ".")
strExt = Right(str, Len(str) - posLastDot)
' 動くかな?未検証
If surpressDup Or Mid(str, posLastDot - 1, 1) <> flgCHAR Then
addMitayo = Left(str, posLastDot - 1) & flgCHAR & "." & strExt
Else
addMitayo = str
End If
End Function
変数 HANAKUSO に別の文字列を用意すると、別の見たよマークをつけることができます。