View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Passing argument to excel

Stephen Bullen Posted:
I have a menu item which reads:

"C:\Office95\Office\EXCEL.EXE" "D:\book2.xls" /e/param1/param2

In book2.xls, I have:

Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineA"
() As String

Sub Workbooks_Open()

Dim s As String, i As Integer

s = GetCommandLine

i = InStr(1, s, "/e")

MsgBox Mid(s, i + 2, 200)

End Sub

When I run it, I get a message box saying "/param1/param2". Works for
Excel 95 and 97. The key is to use the (valid) /e parameter, but tack
on your other parameters afterwards. Note that you can't use spaces in
your parameters, even if they are in strings.

----------------------

Guess you would have to test it to see if it works for you.
--
Regards,
Tom Ogilvy

"rci" wrote in message
...
Hi all...

Interesting task here...

I am using a Visual Basic app (NOT excel) to send a Shell() command that
launches an excel sheet:

"C:\MySheets\Go.xls"

Windows finds Excel, loads the Go.xls sheet, and all is well...

Here is the issue: I wish to pass an argument ALONG with this shell

command
that can be "seen" by Go.xls

For example, I'd like to have this work:

Result = Shell("C:\Mysheets\Go.xls " & iArgument)

(where iArgument is an integer variable)


A macro in Go.xls would need the iArgument to know what to do...
Is there a way to accomplish this?

Thanks so much!

M