View Single Post
  #9   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_6_] Bob Phillips[_6_] is offline
external usenet poster
 
Posts: 11,272
Default Start Excel and run a macro on a given filename?

Sorry, don't know that code. But could you not plug that value into the part
of the script that opens the file?

--

HTH

RP
(remove nothere from the email address if mailing direct)


"JJ (UK)" wrote in message
...
Oh, sorry, within the batch script it's something like

for /f %a in ('date /t') do set date=%a && set month=%b && set

year=%c
for /f %a in ('time /t') do set hour=%a && set year=%b

then further down

echo
Server,Drive,SpaceIS_ScanResults_%year%%month%%da te%_%hour%.%minutes%.csv

So the report will be appended with the date and time the script was

started
thus creating a unique name everytime.

The alternative is to keep the .csv filename the same and get the Excel
macro to SaveAs with the date and time that the macro was running which I
guess will be close enough...I've got the code to do this somewhere...

JJ (UK)

"Bob Phillips" wrote in message
...
So, as I said before, what are the rules to determine the filename?

--

HTH

RP
(remove nothere from the email address if mailing direct)


"JJ (UK)" wrote in message
...
I like that GetOpenFilename thang, although it's no good here since I

want
the script to run unattended...

JJ (UK)

"Bob Phillips" wrote in message
...
Surely there is a rule that you can codify. You have the problem

however
you
do it.

An alternative has just occurred to me. Your Excel macro could do a
GetOpenFilename to browse for the file.

fileToOpen = oXLApp_
.GetOpenFilename("Text Files (*.csv), *.csv")
If fileToOpen < False Then
oXLApp.Workbooks.Open fileToOpen
End If
--

HTH

RP
(remove nothere from the email address if mailing direct)


"JJ (UK)" wrote in message
...
Nice and simple. Except for one thing. How do I pass the name of

the
.csv
file to the macro bearing in mind the .csv filename changes each

time
the
batch file is run...

JJ (UK)

"Bob Phillips" wrote in

message
...
Get the script file to run Excel and open the workbook with your
macro.
The
macro can open the csv and so it's bit, closing Excel down at

the
end.
Just
make sure there is no screen interaction in the macro, or else

it
will
need
to be attended

Dim oXLApp

Set oXLApp = CreateObject("Excel.Application")
oXLApp.Workbooks.Open "C:\dir\file.xls"



--

HTH

RP
(remove nothere from the email address if mailing direct)


"JJ (UK)" wrote in message
...
Hi all

I was hoping there were some command line switches that would

allow
this
functionality but I can't find them.

I've found instructions on automatically running a macro

within
an
existing
workbook by calling it Auto_Open but that doesn't quite match

what
I
need.

What we have is a batch script that runs every Monday and

produces
a
.csv
file called IS_ScanResults_yyyymmdd_hh.mm.csv. As you can see

the
filename
changes every time the script runs (such as
IS_ScanResults_20041130_11.28.csv if the script ran today at

11:28
am).

I've also written a VB macro that tidies up the raw .csv file

in
to
a
more
presentable Excel spreadsheet, converting bytes to megabytes

and
sorting
by
one of the columns etc. etc.

What I'd like to do is at the end of the batch file get it to

open
the
.csv
file in Excel and run the macro (called
'FormatMailServerCapacityReport'
and
stored in macros.xls) on that .csv file.

Is there a way of achieving this?

Thanks in advance

JJ (UK)