Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Reading command line parameters in a VBA program

0 views
Skip to first unread message

dq

unread,
Apr 17, 2007, 11:02:37 AM4/17/07
to
Hallo everybody,

I have an Excel VBA macro that I run several times per day to generate
certain reports. To have this done fully automatic I need to be able
to launch the program with a commandline that looks like
...\ReportGenerator.xls /List=1000 /Date=Today
How can I read the parameter(s) '/List=1000 /Date=Today' in my
program. I find no property that returns this string.

Thanks to anybody who can help me because I've been looking for a
solution for quite some time now.

DQ

Tyla

unread,
Apr 17, 2007, 11:32:17 AM4/17/07
to
You can't pass parameters to Excel VBA macros from the command line,
unfortunately. Have you tried putting the parameters in a simple text
file -- or the Windows Registry -- and having your VBA macro read them
from there?

/ Tyla /

dq

unread,
Apr 17, 2007, 11:40:10 AM4/17/07
to
> > DQ- Tekst uit oorspronkelijk bericht niet weergeven -
>
> - Tekst uit oorspronkelijk bericht weergeven -

Hallo Tyla,

That is exactly what I do know: a batch file generates a .reg and
loads it into the registry and then launches the Excel program which
reads it back. But this is such a messy way that I was hoping there
was something in VBA itself.

Thanks anyway.

DQ

Tyla

unread,
Apr 17, 2007, 11:55:47 AM4/17/07
to
Bummer, isn't it? Next time I have Bill G. over to lunch, I'll talk to
him about this issue -- one a many I have on my list for him.

/ T /

On Apr 17, 8:40 am, dq <darkquant...@skynet.be> wrote:
> On 17 apr, 17:32,Tyla<tylagu...@hotmail.com> wrote:
>
>
>
> > You can't pass parameters toExcelVBA macros from the command line,


> > unfortunately. Have you tried putting the parameters in a simple text
> > file -- or the Windows Registry -- and having your VBA macro read them
> > from there?
>
> > /Tyla/
>
> > On Apr 17, 8:02 am, dq <darkquant...@skynet.be> wrote:
>
> > > Hallo everybody,
>

> > > I have anExcelVBA macro that I run several times per day to generate


> > > certain reports. To have this done fully automatic I need to be able
> > > to launch the program with a commandline that looks like
> > > ...\ReportGenerator.xls /List=1000 /Date=Today
> > > How can I read the parameter(s) '/List=1000 /Date=Today' in my
> > > program. I find no property that returns this string.
>
> > > Thanks to anybody who can help me because I've been looking for a
> > > solution for quite some time now.
>
> > > DQ- Tekst uit oorspronkelijk bericht niet weergeven -
>
> > - Tekst uit oorspronkelijk bericht weergeven -
>
> HalloTyla,
>
> That is exactly what I do know: a batch file generates a .reg and

> loads it into the registry and then launches theExcelprogram which

NickHK

unread,
Apr 17, 2007, 11:18:40 PM4/17/07
to
You cannot pass command line arguments to a workbook, but you can pass them
to Excel and grab them in an Auto_Open routine:
http://www.dailydoseofexcel.com/archives/2006/01/25/command-line-arguments-in-vba/

Called from Run with something like:
excel c:\book1.xls /e/some/args

I assume would work with ShellExcecute or from a Short Cut.

Having said that, there may be better ways of achieving your goal, possibly
with Automation/VBScript.

NickHK

"dq" <darkqu...@skynet.be> wrote in message
news:1176824410.1...@l77g2000hsb.googlegroups.com...

0 new messages