関数・メソッド

指定フォルダを開く【Shell関数】【ExcelVBA】

構文

Shell (pathname, [windowstyle])

pathname・・・・・Explorerを指定します。C:\Windows\Explorer.exe
windowstyle・・・・開きたいフォルダをフルパスで指定します。

マクロで指定したフォルダを開きます。Shell関数を利用します。
Shell関数は他のプログラムを起動したりする事が出来る関数です。
今回はフォルダのみ(エクスプローラーのみ)開きます。

windowstyleの定数

定数 画面サイズ 最前面表示
vbHide 表示しない 表示しない
vbNormalFocus 通常サイズで表示 最前面に表示
vbMinimizedFocus 最小サイズで表示 最前面に表示
vbMaximizedFocus 最大サイズで表示 最前面に表示
vbNormalNoFocus 通常サイズで表示 最前面に表示しない
vbMinimizedNoFocus 最小サイズで表示 最前面に表示しない

指定したフォルダを開くサンプルコード

Public Sub sample()

    '■通常サイズで表示
    Shell "C:\Windows\Explorer.exe " & "C:\vba", vbNormalFocus
    
    '■最大サイズで表示
    Shell "C:\Windows\Explorer.exe " & "C:\vba", vbMaximizedFocus
    
    '■フォルダ存在しなければ、マイドキュメントが起動します
    Shell "C:\Windows\Explorer.exe " & "C:\sample"

    '■フォルダ存在しない場合のエラー回避
    Dim sPath As String
    sPath = "C:\vba"
    
    If Dir(sPath, vbDirectory) & <> "" Then
        Shell "C:\Windows\Explorer.exe" & sPath, vbNormalFocus
    Else
        Debug.Print sPath & "が存在しません"
    End If

End Sub

注意点

関連記事

コメント