ID: Q88929
The information in this article applies to:
Moderate: Requires basic macro, coding, and interoperability skills.
This article shows you how to create a sample function that generates a random file name that can be used for a temporary file.
This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.
NOTE: Visual Basic for Applications is called Access Basic in Microsoft Access versions 1.x and 2.0. For more information about Access Basic, please refer to the "Introduction to Programming" manual in Microsoft Access version 1.x or the "Building Applications" manual in Microsoft Access version 2.0.
Sometimes, an application has to create a file that it uses temporarily and then deletes. The names of temporary files are important because you do not want your application to inadvertently overwrite an existing file.
In such cases, you can create and use the user-defined function called MakeTempFileName(). This function accepts a file extension and returns a string representing a non-existent, random file name with the file extension that you specified. The file name includes a path to your Windows Temp folder (directory) so that the temporary file is placed in the same folder that Windows uses to write its temporary files. This is handy for those who perform periodic maintenance on their hard disks and delete any leftover temporary files in the Windows Temp folder.
To create the sample function MakeTempFileName(), follow these steps:
1. Create a module and type the following procedure:
Function MakeTempFileName(Extension As String) As String
On Error Resume Next
Dim Isfile As Integer, FHandle As Integer, Cntr As Integer
Dim WinTemp As String, TF As String
Isfile = False
FHandle = FreeFile
Do
WinTemp = Environ("TEMP") & "\"
For Cntr = 1 To 8
WinTemp = WinTemp & Mid(LTrim(Str(CInt(Rnd * 10))), 1, 1)
Next
TF = Trim(WinTemp$) & "." & Extension
Open TF For Output As #Fhandle
Debug.Print TF
Print #FHandle, "This is a Temp file"
Loop While Err > 0
Close #FHandle
MakeTempFileName = TF
End Function
2. Type the following line in the Debug window (or Immediate window in
versions 1.x and 2.0), and then presss ENTER:
TempFileName$ = MakeTempFileName("TMP")
Note that the name of the temporary file is displayed in the Debug
window. The file contains the line "This is a Temp file." After you
have verified that the file exists in your Temp folder, you can delete
it.
Additional query words:
Keywords : kbprg PgmFilm
Version : 1.0 1.1 2.0 7.0 97
Platform : WINDOWS
Hardware : x86
Issue type : kbhowto
Last Reviewed: November 21, 1998