
11-18-2005, 03:20 AM
|
|
|
|
RE: Downloading multiple files
we have our FTP sites mapped to a logical drive...which means that they can
be accessed through our applications quite easily.
Once that's done, its quite easy to use the DIR() function -
Option Explicit
Const filepath = "H:\Excel_Demos\"
Const filenameroot = "filename_YYYYMMDD_*.CSV"
Public Sub MAIN()
Dim thisdate As Date
thisdate = Date
OpenCSV Replace(filenameroot, "YYYYMMDD", Format$(thisdate, "YYYYMMDD"))
End Sub
Private Sub OpenCSV(sFile As String)
Dim fn As String
Dim WB As Workbook
fn = Dir(filepath & sFile)
Do Until fn = ""
Set WB = Workbooks.Open(filepath & fn)
'
'process file
ProcessWB WB
WB.Close False
'next file
fn = Dir()
Loop
End Sub
Private Sub ProcessWB(WB As Workbook)
'do stuff
End Sub
"tekman" wrote:
>
> I am trying to write a macro that will download csv files from an online
> database automatically.
>
> Each of these files has a common file name with a date stamp and a time
> stamp in the file name:
> "filename_20051117_000236.csv"
>
> I have been able to open a file using a macro with a fixed file name
> like this:
>
> > Sub Test()
> > Workbooks.Open
> Filename:="ftp://user:pw@IP.IP.IP.IP/dataextracts/folder/filename"
> > End Sub
>
> What I would like to do (if possible) is to open several files using a
> loop, but the last digits (time stamp) are not repeatable, as the files
> are dumped "around" a specific time.
>
> Is there a way to use a loop to d/l several days worth of data, in
> other words: increment the datestamp, but use a wildcard or something
> for the timestamp?
>
> Thanks for the help
>
> Lee
>
>
> --
> tekman
> ------------------------------------------------------------------------
> tekman's Profile: http://www.excelforum.com/member.php...o&userid=28843
> View this thread: http://www.excelforum.com/showthread...hreadid=486139
>
>
|