ExcelVBA 目次 - ray88’s diary
■Functionモジュール
Option Explicit Function fneGetFolderPath() As String '------------------------------------------------- '機能:フォルダダイアログを表示選択したフォルダパスを返す '戻り値:フォルダパス '------------------------------------------------- Dim objDialog As Object 'FileDialogオブジェクト格納用 'FileDialogオブジェクトをインスタンス化 Set objDialog = Application.FileDialog(meofileDialogFolderPicker) 'ダイアログを開いて選択したフォルダを親フォルダバスに指定 If objDiafon.Show Then fncGetFolderPath objDialog.SelectedItems(1) Else fnoGetFolderPath = "" End If End Function Function fncGetFilePath() As String '------------------------------------------------- '機能:ファイル選択ダイアログを表示、選択したファイルパスを返す '戻り値:ファイルパス '------------------------------------------------- Dim targetPath As String Dim objDialog As Object 'FileDialog オブジェクト格納用 'FileDialogオブジェクトをインスタンス化 Set objDialog = Application.FileDialog(msoFileDialogFilePicker) '初期表示されるフォルダバスを設定 objDialog.InitialFileName = "C\Users\デスクトップ\テスト" 'ダイアログを開いて選択したフォルダをフォルダパスに指定 If objDialog.Show Then fncGetFilePath objDialogSelectedItems() Else fncGetFilePath "." End If End Function Function fnclsExistsDir(targetPath As String) As Boolean '------------------------------------------------- '機能:指定されたフォルダバスが存在するか確認する '引数:フォルダパス '戻り値:フォルダの有無をTrueかFalseで返す '------------------------------------------------- With CreateObject("Scripting.FileSystemObject") If .FolderExists(targetPath) Then fnclsExistsDir = True Else fnclsExistsDir = False End If End With End Function Function fnclsExistsFile(targetPath As String) As Boolean '------------------------------------------------- '機能:指定されたファイルパスが存在するか確認し ' 結果をTrue または Falseで返す '引数:ファイルパス '------------------------------------------------- With CreateObject("Scripting.FileSystemObject") If .FileExists(targetPath) Then fnclsExistsFile = True Else fnclsExistsFile = False End If End With End Function Function fncCheckBlankCell(strFilePath As String, strFolderPath As String) '------------------------------------------------- '機能:バスが空白か調べる 引数! ログファイルのバス '引数: 結果ファイル出力先フォルダのバス。 '戻り値: バスが空白の場合はエラメッセージを ' 空白以外の場合は空の文字列を返す '------------------------------------------------- fncCheckBlankCell = "" If strFilePath = "" And strFolderPath = "" Then fncCheckBlankCell = "ログファイルスと結果ファイル出力先フォルダのバスを選択してください。" ElseIf strFilePath = "" Then fncCheckBlankCell = "ログファイルのバスを選択してください。 " ElseIf strFolderPath = "" Then fncCheckBlankCell = "結果ファイル出力債フォルダのパスを選択してください。" End If End Function