現在の一時ディレクトリのパスを取得するVBトリック:
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
vBScriptで失敗します。そう?
WScript.CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2)
Googleで検索するのにしばらく時間がかかりました。だから私と同じものを探している次の人のために...
Const WindowsFolder = 0
Const SystemFolder = 1
Const TemporaryFolder = 2
Dim fso: Set fso = CreateObject("Scripting.FileSystemObject")
Dim tempFolder: tempFolder = fso.GetSpecialFolder(TemporaryFolder)
別の可能性:
CreateObject("WScript.Shell").ExpandEnvironmentStrings("%Temp%")
完全に AnthonyWJonesの回答 に基づいて、これが私の解決策です:
_Public Enum SpecialFolder
WindowsFolder = 0
SystemFolder = 1
TempFolder = 2
End Enum
Public Function GetFolder(folder As Integer) As String
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
GetFolder = objFSO.GetSpecialFolder(folder)
End Function
_
たとえば、GetFolder(TempFolder)
を使用して、ユーザーの一時フォルダのパス名を取得します。