Thread: Flushing a File
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
shockley shockley is offline
external usenet poster
 
Posts: 135
Default Flushing a File

Michael,

My experience is that the text file should update quickly after the command
executes. I ran this macro to test when there is computation going on:

Public Const FileDir As String = "C:\Documents and
Settings\shockley\Desktop\"
Sub Tester()
sFile = FileDir & "sTest.txt"
Open sFile For Append As #1
Print #1, "This is a test"
Close #1
Do
x = x + 1
Loop
End Sub
and it updates fine, so I don't know what your problem might be.

Another way to write to files is using the Scripting.FileSystemObject which,
I believe, acts synchronously rather than asynchronously like the Print
command--it's worth a try. Here's a link to the MSDN webpage where you can
learn about the fso objects:

http://msdn.microsoft.com/library/de...us/script56/ht
ml/jsorifilesystemobjectmethods.asp

See "OpenTextFile Method"

HTH,
Shockley



"Michael Bildner" wrote in message
...
Hello,

I was wondering if there was a way to flush output to a
file. I currently have a macro that takes a few hours to
run (lots of data processing) and it prints status messages
to a log file. However, the messages never appear until
the file is closed.

I currently print to a log file as follows:

Dim LogFile as Integer
LogFile = FreeFile
Open "Filename" For Append As #LogFile
Print #LogFile, "Messages ..."
...
Close #LogFile

Is there a command (such as Flush #LogFile) that will flush
the stream? If not, is there another way to write messages
to a file that can be read real-time ?

Thanks for the help.

Michael Bildner