Excel - What is FreeFile() function???

Asked By Robert Crandal on 23-Feb-10 11:49 PM
I am trying to understand what exactly is the purpose of the
VBA FreeFile() function???   If I call this function inside
one of my VBA modules, it will return a numerical value.
What is this numerical value??

thank you

Skiffle replied to Robert Crandal on 24-Feb-10 12:34 AM

Here are two ways of accessing rather immediate assistance

1. VBA Help
Search "freefile".  It lays it out in plain english.

2. Google.  Here is one of many hits.
In the first paragraph at this site, it states "Use FreeFile to get the
file number of the next file."

Pretty straightforward.

Mike H replied to Robert Crandal on 24-Feb-10 06:05 AM

In VB you can open files and then manipulate them using FileNum.

Now in a simple piece of code you could use Filenum 1 (one) manually
assigned in the fairly certain knowledge the number is not being used but in
more complicated code this become very risky indeed because if you manually
assign the number you may start geting uppredictable results.

Hence FreeFile() which allocates the next 'unused'  number. In the snippet
below Filenum is assigned to the next free number by FreeFile and thereafter
the file is referred to by the number assigned to it and not the name

Dim FileNum As Integer
LogMessage ="Some very important text"
FileNum = FreeFile
Open FName For Append As #FileNum
Print #FileNum, LogMessage
Close #FileNum ' close the file
End Sub


When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
Robert Crandal replied to Mike H on 24-Feb-10 02:39 PM
Thank you so much for the info.  It is always appreciated!