View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
JJ \(UK\) JJ \(UK\) is offline
external usenet poster
 
Posts: 7
Default Start Excel and run a macro on a given filename?

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)