ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Return Information from Shell Command (https://www.excelbanter.com/excel-programming/339272-return-information-shell-command.html)

Andibevan[_4_]

Return Information from Shell Command
 
Hi All,

I have a dos command that lists the location of a config file associated
with a program.

This works fine from a dos prompt but can I use the Shell command in such a
way that the location of the config file can be returned into VBA?

Something like Var = Shell("Getconfig") (I am aware that doing this merely
would set Var = process thread associated with shell)

Thanks

Andi




Gareth[_6_]

Return Information from Shell Command
 
There might well be a more elegant solution (and indeed this might not
work) but you could try using "" to output the returned data to a file
rather than the screen. e.g.

Function fcnGetConfigLocation() as string

DIm var as long
Dim myPath as string
DIm F as integer

Var = Shell("Getconfig c:\temp.txt")

'assuming file just contains one path

F= Freefile
open "c:\temp.txt" for input as #F
input #F, mypath
close #F

kill "c:\temp.txt"

'check path exists
myPath = trim(mypath)
if dir(mypath) < "" then _
fcnGetConfigLocation = myPath

End Function


HTH,
Gareth

Andibevan wrote:
Hi All,

I have a dos command that lists the location of a config file associated
with a program.

This works fine from a dos prompt but can I use the Shell command in such a
way that the location of the config file can be returned into VBA?

Something like Var = Shell("Getconfig") (I am aware that doing this merely
would set Var = process thread associated with shell)

Thanks

Andi




Andibevan[_4_]

Return Information from Shell Command
 
Hi Gareth - Thanks for the solution but I am having some problems.

Can you try and see if you can get it to work using "Dir C:\test.txt" as I
am having problems getting shell commands to write to a file.

All I need to know is how to get the bit working that actually creates the
file.

Ta

Andi

"Gareth" wrote in message
...
There might well be a more elegant solution (and indeed this might not
work) but you could try using "" to output the returned data to a file
rather than the screen. e.g.

Function fcnGetConfigLocation() as string

DIm var as long
Dim myPath as string
DIm F as integer

Var = Shell("Getconfig c:\temp.txt")

'assuming file just contains one path

F= Freefile
open "c:\temp.txt" for input as #F
input #F, mypath
close #F

kill "c:\temp.txt"

'check path exists
myPath = trim(mypath)
if dir(mypath) < "" then _
fcnGetConfigLocation = myPath

End Function


HTH,
Gareth

Andibevan wrote:
Hi All,

I have a dos command that lists the location of a config file associated
with a program.

This works fine from a dos prompt but can I use the Shell command in

such a
way that the location of the config file can be returned into VBA?

Something like Var = Shell("Getconfig") (I am aware that doing this

merely
would set Var = process thread associated with shell)

Thanks

Andi






Gareth[_6_]

Return Information from Shell Command
 
Try something like this:

Shell Environ("comspec") _
& " /c dir c:\temp " _
& " c:\temp.txt", vbHide

It should work.

(I write "should" work - it does work, I tested it! It's not my code, it
was posted by someone called Rick Rothstein, clearly a very nice man, in
a VB NG back in 1999.)

Tara


Andibevan wrote:
Hi Gareth - Thanks for the solution but I am having some problems.

Can you try and see if you can get it to work using "Dir C:\test.txt" as I
am having problems getting shell commands to write to a file.

All I need to know is how to get the bit working that actually creates the
file.

Ta

Andi

"Gareth" wrote in message
...

There might well be a more elegant solution (and indeed this might not
work) but you could try using "" to output the returned data to a file
rather than the screen. e.g.

Function fcnGetConfigLocation() as string

DIm var as long
Dim myPath as string
DIm F as integer

Var = Shell("Getconfig c:\temp.txt")

'assuming file just contains one path

F= Freefile
open "c:\temp.txt" for input as #F
input #F, mypath
close #F

kill "c:\temp.txt"

'check path exists
myPath = trim(mypath)
if dir(mypath) < "" then _
fcnGetConfigLocation = myPath

End Function


HTH,
Gareth

Andibevan wrote:

Hi All,

I have a dos command that lists the location of a config file associated
with a program.

This works fine from a dos prompt but can I use the Shell command in


such a

way that the location of the config file can be returned into VBA?

Something like Var = Shell("Getconfig") (I am aware that doing this


merely

would set Var = process thread associated with shell)

Thanks

Andi







Andibevan[_4_]

Return Information from Shell Command
 
Haven't had time to test it yet - but thanks for the input.

I don't suppose you've got a URL with a bit more info have you?

Mainly what the comspec and the /c mean?

Thanks

Andi


"Gareth" wrote in message
...
Try something like this:

Shell Environ("comspec") _
& " /c dir c:\temp " _
& " c:\temp.txt", vbHide

It should work.

(I write "should" work - it does work, I tested it! It's not my code, it
was posted by someone called Rick Rothstein, clearly a very nice man, in
a VB NG back in 1999.)

Tara


Andibevan wrote:
Hi Gareth - Thanks for the solution but I am having some problems.

Can you try and see if you can get it to work using "Dir C:\test.txt"

as I
am having problems getting shell commands to write to a file.

All I need to know is how to get the bit working that actually creates

the
file.

Ta

Andi

"Gareth" wrote in message
...

There might well be a more elegant solution (and indeed this might not
work) but you could try using "" to output the returned data to a file
rather than the screen. e.g.

Function fcnGetConfigLocation() as string

DIm var as long
Dim myPath as string
DIm F as integer

Var = Shell("Getconfig c:\temp.txt")

'assuming file just contains one path

F= Freefile
open "c:\temp.txt" for input as #F
input #F, mypath
close #F

kill "c:\temp.txt"

'check path exists
myPath = trim(mypath)
if dir(mypath) < "" then _
fcnGetConfigLocation = myPath

End Function


HTH,
Gareth

Andibevan wrote:

Hi All,

I have a dos command that lists the location of a config file

associated
with a program.

This works fine from a dos prompt but can I use the Shell command in


such a

way that the location of the config file can be returned into VBA?

Something like Var = Shell("Getconfig") (I am aware that doing this


merely

would set Var = process thread associated with shell)

Thanks

Andi









Gareth[_6_]

Return Information from Shell Command
 
'Fraid not. Here's the URL I got it from:

http://groups.google.com/group/micro... 4b11224427f2a

G

Andibevan wrote:
Haven't had time to test it yet - but thanks for the input.

I don't suppose you've got a URL with a bit more info have you?

Mainly what the comspec and the /c mean?

Thanks

Andi


"Gareth" wrote in message
...

Try something like this:

Shell Environ("comspec") _
& " /c dir c:\temp " _
& " c:\temp.txt", vbHide

It should work.

(I write "should" work - it does work, I tested it! It's not my code, it
was posted by someone called Rick Rothstein, clearly a very nice man, in
a VB NG back in 1999.)

Tara


Andibevan wrote:

Hi Gareth - Thanks for the solution but I am having some problems.

Can you try and see if you can get it to work using "Dir C:\test.txt"


as I

am having problems getting shell commands to write to a file.

All I need to know is how to get the bit working that actually creates


the

file.

Ta

Andi

"Gareth" wrote in message
...


There might well be a more elegant solution (and indeed this might not
work) but you could try using "" to output the returned data to a file
rather than the screen. e.g.

Function fcnGetConfigLocation() as string

DIm var as long
Dim myPath as string
DIm F as integer

Var = Shell("Getconfig c:\temp.txt")

'assuming file just contains one path

F= Freefile
open "c:\temp.txt" for input as #F
input #F, mypath
close #F

kill "c:\temp.txt"

'check path exists
myPath = trim(mypath)
if dir(mypath) < "" then _
fcnGetConfigLocation = myPath

End Function


HTH,
Gareth

Andibevan wrote:


Hi All,

I have a dos command that lists the location of a config file


associated

with a program.

This works fine from a dos prompt but can I use the Shell command in

such a


way that the location of the config file can be returned into VBA?

Something like Var = Shell("Getconfig") (I am aware that doing this

merely


would set Var = process thread associated with shell)

Thanks

Andi









Andibevan[_4_]

Return Information from Shell Command
 
Nice one - Thanks

"Gareth" wrote in message
...
'Fraid not. Here's the URL I got it from:


http://groups.google.com/group/micro... 4b11224427f2a

G

Andibevan wrote:
Haven't had time to test it yet - but thanks for the input.

I don't suppose you've got a URL with a bit more info have you?

Mainly what the comspec and the /c mean?

Thanks

Andi


"Gareth" wrote in message
...

Try something like this:

Shell Environ("comspec") _
& " /c dir c:\temp " _
& " c:\temp.txt", vbHide

It should work.

(I write "should" work - it does work, I tested it! It's not my code, it
was posted by someone called Rick Rothstein, clearly a very nice man, in
a VB NG back in 1999.)

Tara


Andibevan wrote:

Hi Gareth - Thanks for the solution but I am having some problems.

Can you try and see if you can get it to work using "Dir C:\test.txt"


as I

am having problems getting shell commands to write to a file.

All I need to know is how to get the bit working that actually creates


the

file.

Ta

Andi

"Gareth" wrote in message
...


There might well be a more elegant solution (and indeed this might not
work) but you could try using "" to output the returned data to a

file
rather than the screen. e.g.

Function fcnGetConfigLocation() as string

DIm var as long
Dim myPath as string
DIm F as integer

Var = Shell("Getconfig c:\temp.txt")

'assuming file just contains one path

F= Freefile
open "c:\temp.txt" for input as #F
input #F, mypath
close #F

kill "c:\temp.txt"

'check path exists
myPath = trim(mypath)
if dir(mypath) < "" then _
fcnGetConfigLocation = myPath

End Function


HTH,
Gareth

Andibevan wrote:


Hi All,

I have a dos command that lists the location of a config file


associated

with a program.

This works fine from a dos prompt but can I use the Shell command in

such a


way that the location of the config file can be returned into VBA?

Something like Var = Shell("Getconfig") (I am aware that doing this

merely


would set Var = process thread associated with shell)

Thanks

Andi












All times are GMT +1. The time now is 09:55 AM.

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