Excel VBA テクニック集
Windowsディレクトリの取得





Excel VBA テクニック集
Windows関連のディレクトリの取得方法です。

Windowsディレクトリ「C:\Windows」の取得方法です。
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" _
        (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Public Function Get_Dir_Windows() As String
    Dim WinDir As String
    
    Get_Dir_Windows = ""
    WinDir = Space$(33)
    If GetWindowsDirectory(WinDir, Len(WinDir)) > 0 Then
        WinDir = Left$(WinDir, InStr(WinDir, vbNullChar) - 1)
        Get_Dir_Windows = WinDir
        End If
End Function
Systemディレクトリ「C:\Windows\System32」の取得方法です。
Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" _
        (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Public Function Get_Dir_System() As String
    Dim SysDir As String
    
    Get_Dir_System = ""
    SysDir = Space$(33)
    If GetSystemDirectory(SysDir, Len(SysDir)) > 0 Then
        SysDir = Left$(SysDir, InStr(SysDir, vbNullChar) - 1)
        Get_Dir_System = SysDir
        End If
End Function
ディスクトップ・ディレクトリ「C:\Users\[User Name]\Desktop」の取得方法です。

Public Function Get_Dir_Desktop() As String
    Get_Dir_Desktop = CreateObject("WScript.Shell").SpecialFolders("Desktop")
End Function

Tempディレクトリ「C:\Users\[User Name]\AppData\Local\Temp」の取得方法です。
   
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" _
        (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Public Function Get_Dir_Temp() As String
    Dim strTemp As String
    Dim lpBuffer As String * 260
    
    strTemp = Environ("temp")
    If Dir(strTemp, vbDirectory) = "" Then
        strTemp = Environ("tmp")
        If Dir(strTemp, vbDirectory) = "" Then
            Call GetWindowsDirectory(lpBuffer, Len(lpBuffer))
            strTemp = Left(lpBuffer, InStr(lpBuffer, Chr$(0)) - 1) & "\Temp"
            If Dir(strTemp, vbDirectory) = "" Then
                strTemp = App.Path
                End If
            End If
        End If
    
    Get_Dir_Temp = strTemp
End Function


「こだわりハウス」写真館| 数学公式集| ピンポイントストリートビュー| FaceBook| Excel Vba テクニック集| Excel 計算式解析・他解析| 富山の建築家| Excel 計算式解析・他解析| 積分の定義・積分の記号の意味の研究|