Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
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
Posted to microsoft.public.excel.programming
|
|||
|
|||
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
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
File:1 and File:2 -- Double Files when Opening One File | Excel Discussion (Misc queries) | |||
I saved file A over file B. Can I get file B back? | Excel Discussion (Misc queries) | |||
opening an excel file opens a duplicate file of the same file | Excel Discussion (Misc queries) | |||
I SAVED A FILE OVER ANOTHER A FILE IN EXCEL. THE OLD FILE WAS AN . | Excel Discussion (Misc queries) | |||
i received a file that reads powerpoint document file file exten. | Excel Discussion (Misc queries) |