Because the file would probably be open copying it is not a good idea.
A better way is to log the data to an MDB file (Access) RSV can do this.
Then on your own network computer use excel (providing VBA is installed in the options) you can do an automated spreadsheet to get the data a simple way to see the code is:
open a clean book, start recording a macro, then get external data, select the MDB file over the network (assume IT give you access to it), import the data, then paste it onto the sheet, save the macro, goto VB (tools\Macro\VB) then look at the code.
or if you want to import all data then just use the macro.
I have written many automated spreadsheets that use a calendar to select dates/times then import the data & format it into graphs on the spreadsheet.
This is a quick one
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 20/09/2010 by len
'
'
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=MYScada;UID=MYDB;Trusted_Connection=Yes;APP=Microsoft® Query;WSID=LEN_HOME;DATABASE=MYScada;" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT FIXALARMS.ALM_TAGNAME, FIXALARMS.ALM_TAGDESC, FIXALARMS.ALM_VALUE, FIXALARMS.ALM_DESCR, FIXALARMS.ALM_ALMAREA, FIXALARMS.ALM_OPNAME, FIXALARMS.ALM_OPFULLNAME, FIXALARMS.ALM_DATELAST, FIXALARMS." _
, _
"ALM_TIMELAST, FIXALARMS.ALM_DTLAST" & Chr(13) & "" & Chr(10) & "FROM MYScada.dbo.FIXALARMS FIXALARMS" & Chr(13) & "" & Chr(10) & "WHERE (FIXALARMS.ALM_DATELAST>'30/07/06' And FIXALARMS.ALM_DATELAST<'29/01/07')" & Chr(13) & "" & Chr(10) & "ORDER BY FIXALARMS.ALM_DATELAST" _
)
.Name = "Query from MYScada"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
As you can see the macro was recorded by returning the data between dates, you could include this macro in code that selects dates from a date picker, then format it into variables, replace the date bits in the query with the variables.