関数・メソッド

指定フォルダを開く【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

注意点

  • サブフォルダも含めて表示するわけではありません。その場合、FileSystemObjectを使用します。
  • “C:\Windows\Explorer.exe “の最後の半角スペースは必須です。
    半角スペースをなくすと実行時エラー ’53’:ファイルが見つかりません。

関連記事

コメント

タイトルとURLをコピーしました