I actually prefer writing my own routines to import csvs into Excel. I find that they are a lot easier to customize (i.e. skipping columns or adding calculated data). Here's an example that creates a new workbook from a passed filename and application instance. It returns a reference to the sheet (handy for formatting in the calling function).
VB Code:
  1. Private Function CSVToExcel(oApp As Excel.Application, sFile As String) As Excel.Worksheet
  2.  
  3.     Dim oBook As Excel.Workbook, lRow As Long, lCol As Long, sBuffer As String, iFile As Integer
  4.     Dim sLines() As String, sRow() As String
  5.    
  6.     iFile = FreeFile
  7.     Open sFile For Binary As #iFile
  8.     sBuffer = String$(LOF(iFile), Chr$(0))
  9.     Get #iFile, , sBuffer
  10.     Close #iFile
  11.    
  12.     sLines = Split(sBuffer, vbCrLf)
  13.     Set oBook = oApp.Workbooks.Add
  14.     Set CSVToExcel = oBook.Worksheets(1)
  15.  
  16.     With CSVToExcel
  17.         For lRow = 0 To UBound(sLines)
  18.             sRow = Split(sLines(lRow), ",")
  19.             For lCol = 0 To UBound(sRow)
  20.                 .Cells(lRow + 1, lCol + 1).Value = sRow(lCol)
  21.             Next lCol
  22.         Next lRow
  23.     End With
  24.  
  25. End Function
But the main question is why you need to go through Excel before putting the data into DBaseIII? Do you actually need to have a copy of it in Excel or were you just planning of using Excel to export to DBase? If not, I'd just use ADO and skip the Excel part.