Attribute VB_Name = "xGetTempFileName関数" ' @(h) xGetTempFileName関数.bas ver 1.0 ( '98.10.08 ) ' @(s) ' ユニークな一時ファイルの名前とパスを返す関数モジュール ' 本モジュールはテスト用コードモジュールです。 ' Option Explicit Public Const MAX_PATH = 255 Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long Attribute GetTempFileName.VB_ProcData.VB_Invoke_Func = " \n14" Sub xGetTempFileNameのテスト() 'ExcelまたはVisual Basicで実行してください。 Attribute xGetTempFileNameのテスト.VB_ProcData.VB_Invoke_Func = " \n14" MsgBox "(" & xGetTempFileName(xGetTempPath(), "S") & ")" 'ok MsgBox "(" & xGetTempFileName(xGetTempPath(), "SA") & ")" 'ok MsgBox "(" & xGetTempFileName(xGetTempPath(), "SAM") & ")" 'ok MsgBox "(" & xGetTempFileName(xGetTempPath(), "SAMG") & ")" 'sam まで ok End Sub ' @(f) ' ' 機能 : ユニークな一時ファイルの名前とパスを返す関数 ' ' 返り値 : テンポラリパス名。 ' ' 引き数 : lpszPath$ - テンポラリファイルで使用するディレクトリ名。 ' lpPrefixString$ - ファイル名の接頭辞。最初の3文字が接頭辞として使用される。 ' ' 機能説明 : ユニークな一時ファイルの名前とパスを返す関数 ' ' 備考 : 特になし ' Function xGetTempFileName(lpszPath$, lpPrefixString$) As String Attribute xGetTempFileName.VB_ProcData.VB_Invoke_Func = " \n14" Dim rcl&, wUnique&, lpTempFileName$ wUnique& = 0 lpTempFileName$ = String$(MAX_PATH, 0) rcl& = GetTempFileName(lpszPath$, lpPrefixString$, wUnique&, lpTempFileName$) xGetTempFileName = Left(lpTempFileName$, InStr(lpTempFileName$, Chr$(0)) - 1) End Function