Option Explicit
Option Base 1
'==================================================
' モジュール名: Mod_FileUtil
' 概要: ファイル操作ユーティリティを提供するモジュール
' 主な機能: パス取得、ファイル/フォルダ存在確認、フォルダ作成
'==================================================
'--------------------------------------------------
'処理名:getCsvPath
'概要:CSVインポート用のフォルダパスおよびファイル名を取得
'strFolder:取得したフォルダパスを格納する文字列型変数
'strFile:取得したファイル名を格納する文字列型変数
'--------------------------------------------------
Sub getCsvPath(ByRef strFolder As String, ByRef strFile As String)
' フォルダパス
strFolder = shMain.Cells(ROW_shMAIN_IMPORTPATH, COL_shMAIN_IMPORTFOLDER).Value
' ファイル名
strFile = shMain.Cells(ROW_shMAIN_IMPORTPATH, COL_shMAIN_IMPORTFILE).Value
End Sub
'--------------------------------------------------
'プロシージャの概要:
'処理名: getOutPath
'概要: メインシートから出力フォルダパスおよびファイル名を取得
'引数リスト
'strFolder: 出力フォルダパス格納用変数
'strFile : 出力ファイル名格納用変数
'--------------------------------------------------
Private Sub getOutPath(ByRef strFolder As String, ByRef strFile As String)
' 出力フォルダパスを取得
strFolder = shMain.Cells(ROW_shMAIN_EXPORTPATH, COL_shMAIN_EXPORTFOLDER).Value
' 出力ファイル名を取得
strFile = shMain.Cells(ROW_shMAIN_EXPORTPATH, COL_shMAIN_EXPORTFILE).Value
End Sub
'--------------------------------------------------
'プロシージャの概要:
'処理名: blnExistsFolder
'概要: 指定されたフォルダが存在するかを確認する
'引数1: strFolder: 存在確認するフォルダのパス
'戻り値: Boolean: フォルダが存在する場合はTrue、存在しない場合はFalse
'--------------------------------------------------
Function blnExistsFolder(ByVal strFolder As String) As Boolean
If Dir(strFolder, vbDirectory) = "" Then
MsgBox "指定されたフォルダが存在しません。" & vbCrLf & _
"フォルダ: " & strFolder, vbExclamation, "フォルダ未検出"
blnExistsFolder = False
Else
blnExistsFolder = True
End If
End Function
'--------------------------------------------------
'プロシージャの概要:
'処理名: blnExistsFile
'概要: 指定されたファイルが存在するかを確認する
'引数1: strFilePath: 存在確認するファイルのフルパス
'戻り値: Boolean: ファイルが存在する場合はTrue、存在しない場合はFalse
'--------------------------------------------------
Function blnExistsFile(ByVal strFilePath As String) As Boolean
If Dir(strFilePath) = "" Then
MsgBox "指定されたファイルが存在しません。" & vbCrLf & _
"ファイル: " & strFilePath, vbExclamation, "ファイル未検出"
blnExistsFile = False
Else
blnExistsFile = True
End If
End Function
'--------------------------------------------------
'プロシージャの概要:
'処理名: ensureFolderExists
'概要: 指定されたフォルダが存在しない場合は作成する
'引数1: strFolder: 確認または作成するフォルダのパス
'戻り値: Boolean: フォルダが存在または作成成功した場合はTrue、作成失敗時はFalse
'--------------------------------------------------
Function ensureFolderExists(ByVal strFolder As String) As Boolean
On Error GoTo ERR_HANDLER
If Dir(strFolder, vbDirectory) = "" Then
MkDir strFolder
End If
ensureFolderExists = True
Exit Function
ERR_HANDLER:
MsgBox "出力フォルダの作成に失敗しました。" & vbCrLf & _
"フォルダ: " & strFolder, vbExclamation, "フォルダ作成エラー"
ensureFolderExists = False
End Function
'--------------------------------------------------
'プロシージャの概要:
'処理名: strGetColumnLetter
'概要: 数値の列番号を対応する列文字(A,B,C...AA,AB...)に変換する
'引数1: lngColumn: 変換対象の列番号
'戻り値: String: 変換後の列文字
'--------------------------------------------------
Function strGetColumnLetter(ByVal lngColumn As Long) As String
strGetColumnLetter = Split(Cells(1, lngColumn).Address(True, False), "$")(0)
End Function
'--------------------------------------------------
'プロシージャの概要:
'処理名: lngGetColumnNumber
'概要: 列文字(A,B,C...AA,AB...)を対応する数値の列番号に変換する
'引数1: strColumn: 変換対象の列文字
'戻り値: Long: 変換後の列番号
'--------------------------------------------------
Function lngGetColumnNumber(ByVal strColumn As String) As Long
Dim rngTemp As Range
Set rngTemp = Range(strColumn & "1")
lngGetColumnNumber = rngTemp.Column
End Function
コメント