当文件名称在文件夹中不存在,但这一文件将被建立,此时往往需要一个临时文件名称。本文提供的函数以路径作为一个变量,并返回一个带有路径的文件名称(这一文件名称在特定的文件夹中不存在)。所以,这一函数能够用于正确地建立一个临时文件。
如果一个空字符串作为路径变量而传递,此时将使用到程序的路径,而函数返回的是错误的空字符串,而且它不会检查传递的路径是否正确。
以下代码以值为1而启动,并从中获得一个文件的名称(1.tmp)。然后使用Dir函数检查这一文件在指定的文件夹中是否已经存在。如果没有存在,文件的名称是合法,并通过函数返回而得到。如果文件已经存在,启动时的值就会累增,新的文件名称就会不断地被试用,直到一个没有使用的文件名称找到为止。
这一过程的代码段如下:
Public Function MakeTempFileName(path As String)
' Returns a filename (with path) that is not
' already in use in the indicated path. Name
' has the form path1.tmp, path2.tmp, etc.
' If path is blank then App.Path is used.
' Does not verify that path is valid.
Dim x As Integer, s As String
If path = "" Then path = App.path
' Be sure path ends with .
If (Right(path, 1) <> "") Then path = path & ""
x = 0
Do
x = x + 1
s = path & x & ".tmp"
Loop Until Dir(s) = ""
MakeTempFileName = path & x & ".tmp"
End Function
建立一个合法的临时文件名称对很多程序的操作非常的重要,这一技巧可以避免多重文件名称带来的复杂性。当你的程序建立临时文件时应该执行一些相同文件名的测试。