I think a simple loop with the Dir$() function can do the trick.
Note, you should ensure that your file name does not include invalid filename characters
Code:
Private Sub Command1_Click()
Dim myFile As String
myFile = GetUniqueFileName("C:\Windows\Temp", "Doe 1256 Oak Ave Invoice.rtf")
Open myFile For Output As #1
Close #1
End Sub
Private Function GetUniqueFileName(ByVal Path As String, ByVal FileNameBase As String) As String
Dim uniqueID As Long
Dim sFile As String
Dim sExt As Long, iExt As Integer
If Right$(Path, 1) <> "\" Then Path = Path & "\"
sFile = Dir$(Path & FileNameBase, vbArchive)
If sFile = vbNullString Then
GetUniqueFileName = Path & FileNameBase
Else
iExt = InStrRev(FileNameBase, ".")
If iExt = 0 Then
FileNameBase = FileNameBase & "[#]"
Else
FileNameBase = Left$(FileNameBase, iExt - 1) & "[#]" & Mid$(FileNameBase, iExt)
End If
Do
uniqueID = uniqueID + 1
sFile = Dir$(Path & Replace$(FileNameBase, "#", uniqueID), vbArchive)
Loop Until sFile = vbNullString
GetUniqueFileName = Path & Replace$(FileNameBase, "#", uniqueID)
End If
End Function