Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Flushing a File

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
  #2   Report Post  
Posted to microsoft.public.excel.programming
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



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,718
Default Flushing a File

Looks like you may have to open, write and close with each write. You might
use Application.Statusbar = "Message.." as an alternative.

--
Jim Rech
Excel MVP


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
File:1 and File:2 -- Double Files when Opening One File dallin Excel Discussion (Misc queries) 1 January 25th 07 02:53 AM
I saved file A over file B. Can I get file B back? Lynn Excel Discussion (Misc queries) 2 May 12th 06 11:24 AM
opening an excel file opens a duplicate file of the same file skm Excel Discussion (Misc queries) 1 December 7th 05 05:52 PM
I SAVED A FILE OVER ANOTHER A FILE IN EXCEL. THE OLD FILE WAS AN . DUFFER8MCD Excel Discussion (Misc queries) 1 December 23rd 04 11:32 PM
i received a file that reads powerpoint document file file exten. CCAROLACEREC Excel Discussion (Misc queries) 1 December 4th 04 05:02 PM


All times are GMT +1. The time now is 02:43 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"