opening and write to a text file in excel

  • Thread starter Thread starter julian brotherton
  • Start date Start date
J

julian brotherton

This one I can't get over.

I open a file using "job" as my file handler, but no
other 'sub' can see the
file handler.
The debugger stops with the error "object required"


Public Sub make_job_file()
' create GEO_FILE
Dim fso, f1, job
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("geo_job.job")
Set f1 = fso.GetFile("geo_job.job")
Set job = f1.OpenAsTextStream(ForWriting, True)
End Sub

Sub jobname()
job_name = InputBox("input Job Name", "Job Name",
job_name, 100, 1)
job.WriteLine "51=" + job_name
Job_date = InputBox("input correct date", "Job Date",
Job_date, 100, 1)
job.WriteLine "51=" + Job_date
End Sub

Sub station()
job.WriteLine "2=" + Cells(row, B) ' AT STATION
job.WriteLine "3=" + Cells(row, H) ' INSTRUMENT HEIGHT
job.WriteLine "21=0.0000" ' DUMMY RO ANGLE NOT
USED
End Sub

Can you spot where I have gone wrong.
Please don't tell me one sub routine can't see another
subroutine's
variables.

Julian B
 
OK, I won't tell you one routine can't see another routine's variables.
I'll type it at you and you can read it.

To get around this, delcare your variables in the Declarations section. All
you have to do is move the declaration to outside the subroutines, before
the first one:

Dim fso, f1, job
Public Sub make_job_file()
' create GEO_FILE
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("geo_job.job")
Set f1 = fso.GetFile("geo_job.job")
Set job = f1.OpenAsTextStream(ForWriting, True)
End Sub

and so on.
 
Back
Top