「処理の対象となるファイルを指定する」
Excel業務効率化ツールでは、「フォルダ選択」や「ファイル選択」という操作や仕様は、設計上、避けて通れません。
みなさん、こんにちは。セルネッツ竹本です。
今回は、「PATHの分割」をテーマに、解説をしたいと思います。
◆特定のファイル選択により得られる情報
↓(A)Call する側の記述
Call M_PATHブック指定("01", P_FullPath, P_GetPath名, P_GetFile名)
↓(B)Callされる側の分割Module
Public P_FullPath As String
Public P_GetFile名 As String
Public P_GetPath名 As String
‘※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
Sub M_PATHブック指定(P_BTN区分 As String, P_FullPath, P_GetPath名, P_GetFile名)
‘※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
Dim S_文言 As String
CreateObject("Wscript.shell").CurrentDirectory = ThisWorkbook.Path
Select Case P_BTN区分
Case "01"
S_文言 = "[入力ファイル] (*.xlsx)ファイルを指定して下さい。"
P_FullPath = Application.GetOpenFilename("Excelファイル,*.xlsx", , S_文言)
Case "02" '(補足:*.pdf *.txt *.csv など区分に応じて)
Case Else
End Select
P_GetFile名 = Dir(P_FullPath)
Dim S_位置 As Long
S_位置 = InStrRev(P_FullPath, "\")
P_GetPath名 = Left(P_FullPath, S_位置)
End Sub
【Point】ファイル指定は、1Module内に集約すること。複数Moduleに分散するとバグリスクがUP
◆取得後の分割結果
上記のように、ファイルのフルPATHを、
(1)格納先PATH (2)ファイル名 に分割することができます。
どんなケースで便利なのか、事例をあげると。
「入力ファイルとして読み込んだ格納先と同じ場所に、1セットとなるよう結果を保存したい。」
このような要望が多いためです。
今回のテーマは、「PATHの分割」について、解説を行いました。
本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。