Skip to content

OpenDir

Summary

指定したフォルダパスに対応するディレクトリを開くための関数です。 関数内で、指定されたフォルダパスをエクスプローラーで開きます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Function OpenDir(DirPath As String, Optional WaitTime As Single = 0.7)
'フォルダパスを指定してディレクトリを開く

Dim StartTime As Single

    If IsExist(fokderpath) = False Then GoTo errExist

    Shell "C:\Windows\Explore.exe" & folderPath, vbNormalFocus
    WaitTimeFor (WaitTime)
    StartTime = Timer

    'フォルダが表示されるまで待つ
    '5秒待って表示されなかったらエラーを出す
    Do Until IsAppActivate(GetFileName(folderPath)) = True
        DoEvents

        If Timer - StartTime > 5 Then
            OpenDir = False
            Exit Do
        Else
        End If

    Loop

    OpenDir = True
    Exit Function

errExit:
    OpenDir = False
End Function

説明

この関数では、指定したフォルダパスをエクスプローラーで開くために、Shell 関数を使用して外部プログラムとしてエクスプローラーを起動します。

関数内では、以下の手順を実行しています。

IsExist(DirPath) = False をチェックして、指定されたフォルダパスが存在するかどうかを確認します。もし存在しない場合はエラー処理に移動します。 Shell "C:\Windows\Explore.exe " & DirPath, vbNormalFocus を実行して、指定されたフォルダパスをエクスプローラーで開きます。 WaitTimeFor (WaitTime) を実行して、指定された待機時間だけ処理を一時停止します。 開いたフォルダがアクティブになるまで待機します。5秒以上経過してもフォルダが表示されない場合はエラーとして処理を終了します。 フォルダが表示された場合は OpenDir の戻り値を True に設定し、関数を終了します。 フォルダが存在しない場合は OpenDir の戻り値を False に設定し、関数を終了します。

引数

  • 引数(DirPath)の名前: フォルダパス
  • 引数(DirPath)の型: String
  • 引数(DirPath)の説明: 開くディレクトリのパスを指定します。
  • オプション引数(WaitTime)の名前: 待機時間
  • オプション引数(WaitTime)の型: Single
  • オプション引数(WaitTime)の説明: フォルダが表示されるまでの待機時間を秒単位で指定します。
    デフォルトは0.7秒です。

戻り値

  • 戻り値の型: Boolean型
  • ディレクトリが正常に開かれた場合は True
  • ディレクトリが存在しない場合や開く操作に失敗した場合は False

Examples

使用例として、OpenDir 関数を呼び出して指定したフォルダパスのディレクトリを開く方法が示されています。

関数の実行結果は isSuccess 変数に格納されます。

1
2
3
' フォルダを開く
Dim isSuccess As Boolean
isSuccess = OpenDir("C:\Example\Folder")