ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   opening and write to a text file in excel (https://www.excelbanter.com/excel-programming/278807-opening-write-text-file-excel.html)

julian brotherton

opening and write to a text file in excel
 
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


Mary Masengale

opening and write to a text file in excel
 
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.

"julian brotherton" wrote in message
...
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





All times are GMT +1. The time now is 12:29 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com