VBA関数について
VBAで使う関数って何?よくわかんない!
関数は実務でもたくさん使うんだ!一つずつ覚えていこうね!
関数は決まった計算や処理を行う命令になります。実務を行う上でも関数はよく使います。
マクロ記録機能では関数は記録されないため、一つずつ覚えていきましょう。
Dir関数使用例 1
下記サンプルは、指定したパスとファイル情報からファイルが存在するかどうかを確認することができます。
Sub Dir_Function1()
'ファイルが存在するか? 確認
Const OPENFILE As String = "C:\まるきち出欠表.xlsx"
If Dir(OPENFILE) = "" Then
MsgBox "ファイルが存在しません!"
Else
MsgBox "ファイルが存在します!"
End If
End Sub
ファイルが存在する場合に実行した結果になります。
Dir関数使用例 2
下記サンプルは、指定したフルパスの情報からファイル名のみを抽出する方法になります。
Sub Dir_Function2()
'フルパスからファイル名を抽出
Const OPENFILE As String = "C:\まるきち出欠表.xlsx"
Dim FileName As String
FileName = Dir(OPENFILE)
MsgBox OPENFILE & "のファイル名は" & vbCrLf & FileName
End Sub
サンプルコードを動かした結果になります。
Dir関数使用例 3
下記サンプルは、指定したフルパスの情報からパスのみを抽出する方法になります。
Sub Dir_Function3()
'フルパスからパスのみを抽出
Const OPENFILE As String = "C:\まるきち出欠表.xlsx"
Dim FileName As String
FileName = Dir(OPENFILE)
MsgBox OPENFILE & "のパス名は" & vbCrLf & Replace(OPENFILE, FileName, "")
End Sub
サンプルコードを動かした結果になります。
Dir関数使用例 4
下記サンプルは指定したフォルダ内の全Excelファイルを取得することができます。
サンプル9行目にあるように、Dir関数は「*.xlsx」と”*”を使用することでファイル名や拡張子にワイルドカードを指定することができます。
このサンプルではDir(“C:*.xlsx”)とすることで、全てのExcelファイルを取得しています。
サンプルを実行する前に空の”Sheet1″シートを準備して下さい。
Sub Dir_Function4()
'フォルダ内のファイルをすべて取得する
Dim FileName As String, cnt As Long
ThisWorkbook.Worksheets("Sheet1").Activate
FileName = Dir("C:\*.xlsx")
Do While FileName <> ""
cnt = cnt + 1
Cells(cnt, 1) = FileName
FileName = Dir()
Loop
End Sub
サンプルコードを動かした結果下記のように、”Sheet1″シートにCドライブ直下にあるExcelファイルが1行ごとに抽出されています。
まとめ
本日はDir関数の使い方4選を紹介しました。
この記事が皆様のお役に立つことができればとても嬉しいです。
活用できるスキルが学べる1冊です!激しくオススメ!
\ Excel VBA 技術書も豊富 /
コメント