LoginSignup
0
0

More than 1 year has passed since last update.

VBA : ファイル名操作、特定の記号追加 (見たよマーク)

Last updated at Posted at 2021-12-31

はじめに

多くの人からファイルを提出してもらい、内容を確認したデータから (事務局 確認済み) とファイル名に印をつけていくような仕事をしています。自分にとっては刺身の上にタンポポを乗せる仕事よりも責任を感じる重要な仕事だと考えていましたが、「それ、自分でもできますよ(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 に別の文字列を用意すると、別の見たよマークをつけることができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0