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

Dean

Sorry for not responding earlier.

First time I read your post it gave me a headache, but I think I see what
you mean now.

It's in the melting pot, just as soon as I find a spare moment to give it a
go.

Thank you.

:-)

JJ (UK)

"Dean Hinson" wrote in message
...
Hello JJ(UK),

I'm not sure if this will help but give this a try....

In an Excel Spreadsheet, place the following code in the Workbook_Open()
subroutine:

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

Dim FileS As FileSearch
Dim File As Variant

On Error Resume Next
Dim usedRng As Range

ThisWorkbook.Worksheets(1).Activate
DetermineUsedRange usedRng
usedRng.Clear

Set FileS = Application.FileSearch
With FileS
.NewSearch
.FileName = "*.log"
.LookIn = "\\Sever\log$"
.SearchSubFolders = False
.Execute
End With

For Each File In Application.FileSearch.FoundFiles
ImportTextFile File, ","
Next File

Skip:

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

What this code does is find auto-generated log files, clears the

spreadsheet
and then imports the data (comma delimited). Now you can change this to
clear only a dynamic named range (ie.
=OFFSET(Sheet1!$A$5,0,0,COUNTA(Sheet1!$A:$A)*2,10) ), so that your column
headings do not get blown away. Also, you would change it to find the

files
on your server, directory with your file naming wildcard.

This is very simplistic and can be augmented for a more robust solution.
This should get you in the direction I think you are tying to go.

HTH, Dean.

"JJ (UK)" wrote:

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)