Re: Downloading multiple files



Lee,
 
I was doing something similar with a project of mine at work. Here are the basics to get it going...
 

Sub Main()

    Sheets("Sheet1").Select

    Range("A1").Select

    Application.ScreenUpdating = False

    Call OpenFiles

    Application.ScreenUpdating = True

End Sub

 

Sub OpenFiles()

    Dim fn As Variant, f As Integer, i As Integer, counter As Integer

    i = 1

    fn = Application.GetOpenFilename("CSV Files,*.csv", _

                                     1, "Select One Or More Files To Open", , True)

    If TypeName(fn) = "Boolean" Then Exit Sub

    For f = 1 To UBound(fn)

        Debug.Print "Selected file #" & f & ": " & fn(f)

        Workbooks.Open fn(f)

 

        While i = 1

            Range("A1:J1").Select

            Selection.Copy

            Windows("Work_basic version.xls").Activate 'Change the filename to match yours

            Range("A1").Select

            Active***.Paste

            i = i + 1

        Wend

 

        If (f > 1) Then

            While (i <= f)

                Range("A1:J1").Select

                Selection.Copy

                Windows("Work_basic version.xls").Activate 'Change the filename to match yours

                Range("A1:J1").Select

                Cells(i, 1).Select

                Active***.Paste

                i = i + 1

            Wend

        End If

 

        ActiveWindow.ActivateNext

        ActiveWindow.Close False

 

    Next f

End Sub



--
Mark Ivey
 
UoP e-mail:  wmivey@xxxxxxxxxxxxxxx
Personal e-mail:  wmivey6311@xxxxxxxxxxx

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@xxxxxxxxxxx/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?action="">
View this thread:
http://www.excelforum.com/showthread.php?threadid=486139

Loading