Opening notepad file then sending to back

D

DJ MC

I have a piece of code which opens a certain notepad file, goes to a
line of the file, reads the date which is on that line then brings up
a message box if the date is in the past, the only problem with this i
have is when its doing the check, the notepad is above excel, so if
the message box tries to display, notepad is in the way and all excel
does is flash. i need to somehow send the notepad to the background
behind excel but still be able to read from it. any help?
heres my code:

Application.ScreenUpdating = False
Shell "Notepad.exe " & OpenFile, vbNormalFocus

Set oFSO = CreateObject("Scripting.FileSystemObject")
lRow = 1
If oFSO.FileExists(OpenFile) Then
Set GFF_File = oFSO.OpenTextFile(OpenFile)

strLine = GFF_File.ReadLine
strLine = GFF_File.ReadLine
strLine = GFF_File.ReadLine
strLine = GFF_File.ReadLine
strLine = GFF_File.ReadLine
strLine = GFF_File.ReadLine
strLine = GFF_File.ReadLine

DateCheck1st = Mid(strLine, 11, 8)
DateCheck2nd = Mid(DateCheck1st, 7, 2)
DateCheck3rd = Mid(DateCheck1st, 5, 2)
DateCheck4th = Mid(DateCheck1st, 1, 4)

DateCheck = DateCheck2nd & "/" & DateCheck3rd & "/" & DateCheck4th

If DateCheck > Date Then
YesNoQuestion = "Date of .GFF file is " & DateCheck & " are you
sure you want to process this file?"
answer = MsgBox(YesNoQuestion, vbQuestion + vbYesNo)
End If
If answer = vbNo Then
Reset
Exit Sub
End If
 
S

Steve Yandl

Unless you need notepad open for some other reason besides extracting line 7
as a text string, you don't need to use it.

If OpenFile is the full path and file name of the text file you're checking,
try something like:

____________________________________

Const ForReading = 1

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oTxtFile = oFSO.OpenTextFile(OpenFile, ForReading)

For x = 1 To 6
oTxtFile.ReadLine
Next

strLine = oTxtFile.ReadLine

oTxtFile.Close
_____________________________________

Now, strLine is the text from line 7 and you can check it for the date value
and you didn't need Notepad to be launched at all.


Steve
 
D

Dave Peterson

Is there a reason you even use/show notepad? The real work isn't done in
Notepad. It's done through your FSO code.
 
S

Steve Yandl

Sorry, I just noticed that I failed to include the line to increment the
counter,
x = x + 1
that needs to be inside the For....Next loop

Steve
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top