PASSING PARAMETER FORM DOS script to Excel

B

BruceWyne

Hi can anyone help me with this problem?

I have this dos script to pass down a parameter upon opening the excel

@echo off
start excel "\\136.121.2.1\its helpdesk\ConRisk\RSP Concentration Risk
Calculation.xls" /e/8212305557



Is there any code to capture the parameter "8212305557" on the excel macro
upon opening?


I have tried this method but it gave me a kernel32 dll error on some pc.

here is my code


Option Base 1
Private Declare Function GetCommandLineA Lib "Kernel32" () As String

Dim CmdLine As String 'command-line string
Dim Args As Variant
Dim ArgCount As Integer 'number of parameters
Dim Pos1 As Integer, Pos2 As Integer
Dim sMsg As String
Dim Customercode As String
CmdLine = GetCommandLineA 'get the cmd-line string
CmdLine = Mid(CmdLine, 1, 255)
On Error Resume Next 'for the wksht-function "Search"
Pos1 = InStr(1, CmdLine, "/") + 1
Pos1 = InStr(Pos1, CmdLine, "/") + 1
Args = Split(Mid(CmdLine, Pos1, 255), "/")
For ArgCount = LBound(Args) To UBound(Args)
sMsg = sMsg & Args(ArgCount) & vbNewLine
Next ArgCount
Customercode = CStr(Trim(sMsg))


Can anyone help me with this?
 
N

NickHK

Bruce,
You have to use this method to open your Excel file ?

If so :
http://p2p.wrox.com/TopicIndex/22874.htm

but maybe it only works on XL97; could not get it work with XL2002.
If I add a
Debug.Print CmdLine
I get a load of binary and code that appears to come from Adode (I have
Acrobat installed).

but
MsgBox CmdLine
shows
"C:\..DOSPathToOffice..\excel.exe" c:\test.xls

Not sure if DDE is an option, but Automation would be easy.

NickHK
 
B

BruceWyne

Hi nick,

The script is exactly the same as what i had written previously.
But problem is that some PC will have a KERNEL32 error prompt
It indicated

ModName: kernel32.dll ModVer:5.1.2600.2180 Offset:00009e45 error


Regards
Bruce
 
B

BruceWyne

ERROR MESSAGE Faulting application excel.exe, version 9.0.0.8950, faulting
module kernel32.dll, version 5.1.2600.2180, fault address 0x00009e45
 
N

NickHK

As I said, I don't think this will on later versions XL after 97.

Why not use automation instead ?
It would be more straight forward.

Or DDE ?

NickHK
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top