ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Grrrrr.... can't access Server object ??!!?? (https://www.excelbanter.com/excel-programming/373485-grrrrr-cant-access-server-object.html)

[email protected]

Grrrrr.... can't access Server object ??!!??
 
OS: W2K SP4
app: Excel 2000

I've written a sub in VBA to read in a file.
This works....
Dim fso As Object
Dim txtstream As TextStream
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtstream = fso.OpenTextFile("C:\mystuff\tteestfile.txt",
ForReading)

But I don't want to hardcode the fully-pathed filename. So I tried....
Dim fso As Object
Dim txtstream As TextStream
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtstream =
fso.OpenTextFile(Server.MapPath("tteestfile.txt"), ForReading)
but got an "Object not found" msg on line 4

Then I tried...
Dim fso As Object
Dim txtstream As TextStream
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set txtstream =
fso.OpenTextFile(Server.MapPath("tteestfile.txt"), ForReading)
but this threw an "Object not found" on line 3

Seems like for some reason my script can't "see" Server objects, yet
there are many examples on the web using this syntax. What gives?

The point of all this is to determine the current working directory,
which then is used to build up the fully-pathed filename to stick in
the OpenTextFile method. Help!

TIA,

Steve


Andrew Taylor

Grrrrr.... can't access Server object ??!!??
 
The Server object is used in ASP web pages and doesn't
exist in VBA. For the "current working directory", depending
on exactly what you mean by this, you can try CurDir, which
is Excel's "current directory", i.e. where File/Open looks in by
default, or ThisWorkbook.Path, which gives the directory that
contains the workbook that contains the currently-running macro.

So:

fso.OpenTextFile(CurDir & "\tteestfile.txt", ForReading)
or
fso.OpenTextFile(ThisWorkbook.Path & "\tteestfile.txt", ForReading)




wrote:
OS: W2K SP4
app: Excel 2000

I've written a sub in VBA to read in a file.
This works....
Dim fso As Object
Dim txtstream As TextStream
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtstream = fso.OpenTextFile("C:\mystuff\tteestfile.txt",
ForReading)

But I don't want to hardcode the fully-pathed filename. So I tried....
Dim fso As Object
Dim txtstream As TextStream
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtstream =
fso.OpenTextFile(Server.MapPath("tteestfile.txt"), ForReading)
but got an "Object not found" msg on line 4

Then I tried...
Dim fso As Object
Dim txtstream As TextStream
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set txtstream =
fso.OpenTextFile(Server.MapPath("tteestfile.txt"), ForReading)
but this threw an "Object not found" on line 3

Seems like for some reason my script can't "see" Server objects, yet
there are many examples on the web using this syntax. What gives?

The point of all this is to determine the current working directory,
which then is used to build up the fully-pathed filename to stick in
the OpenTextFile method. Help!

TIA,

Steve



[email protected]

Grrrrr.... can't access Server object ??!!??
 
fso.OpenTextFile(CurDir & "\tteestfile.txt", ForReading)

This sorta worked - CurDir didn't return the directory value I
expected.

or
fso.OpenTextFile(ThisWorkbook.Path & "\tteestfile.txt", ForReading)


This worked great! Problem solved. Thanx so much!!

Steve



All times are GMT +1. The time now is 10:27 PM.

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