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 |
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