ブックが開いているかどうか調べる
''' <summary>
''' ブックが開いているかどうか調べる
''' </summary>
''' <param name="workBookName">ブック名</param>
''' <returns>True / False</returns>
''' <see>http://officetanaka.net/excel/vba/tips/tips10.htm</see>
Public Function IsOpenBook(ByVal workBookName As String) As Boolean
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name = workBookName Then
IsOpenBook = True
Exit Function
End If
Next Wb
End Function
シートが存在するかどうか調べる
''' <summary>
''' シートが存在するかどうか調べる
''' </summary>
''' <param name="workSheetName">シート名</param>
''' <returns>True / False</returns>
''' <see>http://officetanaka.net/excel/vba/tips/tips10.htm</see>
Public Function SheetExists(ByVal workSheetName As String) As Boolean
c
End Function
ファイルが存在するかどうか調べる
''' <summary>
''' ファイルが存在するかどうか調べる
''' </summary>
''' <param name="fileName">ファイル名</param>
''' <returns>True / False</returns>
''' <see>http://officetanaka.net/excel/vba/file/file06.htm</see>
''' <remarks>Dir関数を使う方法</remarks>
Public Function FileExists(ByVal FileName As String) As Boolean
If Dir(FileName) <> "" Then
FileExists = True
End If
End Function
''' <summary>
''' ファイルが存在するかどうか調べる
''' </summary>
''' <param name="fileName">ファイル名</param>
''' <returns>True / False</returns>
''' <see>http://officetanaka.net/excel/vba/file/file06.htm</see>
''' <remarks>FileExistsメソッドを使う方法</remarks>
Public Function FileExistsFSO(ByVal FileName As String) As Boolean
With CreateObject("Scripting.FileSystemObject")
If .FileExists(FileName) Then
FileExistsFSO = True
End If
End With
End Function
フォルダが存在するかどうか調べる
''' <summary>
''' フォルダが存在するかどうか調べる
''' </summary>
''' <param name="dirName">フォルダ名</param>
''' <returns>True / False</returns>
''' <see>https://www.relief.jp/docs/excel-vba-check-folder-exists.html</see>
''' <remarks>Dir関数を使う方法</remarks>
Public Function FolderExists(ByVal dirName As String) As Boolean
If Dir(dirName, vbDirectory) <> "" Then
FolderExists = True
End If
End Function
''' <summary>
''' フォルダが存在するかどうか調べる
''' </summary>
''' <param name="dirName">フォルダ名</param>
''' <returns>True / False</returns>
''' <see>http://officetanaka.net/excel/vba/filesystemobject/filesystemobject11.htm</see>
''' <remarks>FolderExistsメソッドを使う方法</remarks>
Public Function FolderExistsFSO(ByVal dirName As String) As Boolean
With CreateObject("Scripting.FileSystemObject")
If .FolderExists(dirName) Then
FolderExistsFSO = True
End If
End With
End Function
ファイルの一覧を取得する
''' <summary>
''' ファイルの一覧を取得する
''' </summary>
''' <param name="dirPath">フォルダ名</param>
''' <returns>ファイルの一覧</returns>
''' <see>http://officetanaka.net/excel/vba/file/file07.htm</see>
''' <remarks>Dir関数を使う方法</remarks>
Public Function GetFileList(ByVal DirPath As String) As String()
Dim FileName As String
Dim cnt As Long
FileName = Dir(DirPath & "*.xlsx")
Do While FileName <> ""
GetFileList(cnt) = FileName
FileName = Dir()
cnt = cnt + 1
Loop
End Function
''' <summary>
''' ファイルの一覧を取得する
''' </summary>
''' <param name="dirPath">フォルダ名</param>
''' <returns>ファイルの一覧</returns>
''' <see>http://officetanaka.net/excel/vba/file/file07.htm</see>
''' <remarks>FileSystemObjectを使う方法</remarks>
Public Function GetFileListFSO(ByVal DirPath As String) As String()
Dim f As Object
Dim cnt As Long
With CreateObject("Scripting.FileSystemObject")
For Each f In .GetFolder(DirPath).Files
GetFileListFSO(cnt) = f.Name
cnt = cnt + 1
Next f
End With
End Function
ブックを開く
''' <summary>
''' ブックを開く
''' </summary>
''' <param name="fileName">ファイル名</param>
''' <returns>ブック</returns>
''' <see>http://officetanaka.net/excel/vba/file/file01.htm</see>
''' <remarks>最も安全にブックを開く方法</remarks>
Public Function WorkbooksOpen(ByVal FileName As String) As Workbook
'ファイル存在チェック
If FileExists(FileName) = True Then
Exit Function
End If
'同名ブックチェック
If IsOpenBook(FileName) = True Then
Exit Function
End If
'ここでブックを開く
Set WorkbooksOpen = Workbooks.Open(FileName)
End Function
コメント