Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Downloading multiple files


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

/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

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,298
Default 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

/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


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 25
Default 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

ActiveSheet.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

ActiveSheet.Paste

i = i + 1

Wend

End If



ActiveWindow.ActivateNext

ActiveWindow.Close False



Next f

End Sub


--------------------------------------------------------------------------------


--
Mark Ivey

UoP e-mail:
Personal e-mail:

"tekman" wrote in message ...

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

/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

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Downloading multiple files


I appreciate all of the help, I will play with this over the weekend.

Great Site!



Lee


--
tekman
------------------------------------------------------------------------
tekman's Profile: http://www.excelforum.com/member.php...o&userid=28843
View this thread: http://www.excelforum.com/showthread...hreadid=486139

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Downloading files from the the Internet Megadrone Excel Worksheet Functions 1 November 29th 07 09:49 PM
Note on downloading XL2007 files Bernard Liengme Excel Discussion (Misc queries) 0 April 5th 07 03:08 PM
Automatic Downloading of files (PDF or HTML) using Excel Hari Prasadh[_2_] Excel Programming 4 April 13th 05 06:32 AM
Downloading Files Using Excel ditane Excel Discussion (Misc queries) 0 March 30th 05 08:55 PM
why do i have to keep downloading excell when i open files? is th. romanbadboy New Users to Excel 3 March 26th 05 09:28 PM


All times are GMT +1. The time now is 08:51 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"