宮崎県延岡市 | スマイルカラーソフトウェア | ユーザースタイルに合わせたプログラミングでお客様に幸せをお届けします。

作業用フォルダ名を取得

「作業用フォルダ名」とは、例えば C:\WINDOWS\TEMP や C:\Users\[ユーザー名]\AppData\Local\Temp など、Windows が作業用ファイルを作成・使用しているフォルダです。
環境変数 TEMP(TMP) でも取得できますが、Windows API を使用しても取得できます。
まず、宣言部です。モジュールレベルに記述します。

' Windowsのテンポラリ用ディレクトリ名を得る
Public Declare Function GetTempPath Lib "Kernel32" Alias "GetTempPathA" _
                        (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

以下のように使用します。

    Dim lngWork As Long
    Dim strTemp As String
    
    strTemp = Space(260)
    lngWork = GetTempPath(Len(strTemp), strTemp)
    If lngWork = 0 Then
        ' WindowsAPIから取得できないときは、環境変数から取得
        strTemp = Environ("TEMP")
        If strTemp = "" Then
            strTemp = Environ("TMP")
        End If
    Else
        strTemp = StrConv(LeftB(StrConv(strTemp, vbFromUnicode), lngWork), vbUnicode)
    End If
    If Right(strTemp, 1) <> "\" Then strTemp = strTemp & "\"
    MsgBox strTemp

結果は次のようになります。

《 同一カテゴリ内の前後の記事》