View Single Post
  #5   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?

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)