You could use a
VB macro that acts on the open workbook or uses a recursive procedure to open files in a receiving directory. Once open the procedure would directly transfer data from defined fields in the source workbook to the appropriate fileds in the target workbook.
When doing this I suggest creating named ranges in your source workbook to identify the data fields. This will allow you to refer to the fields by the defined name insted of R1C1 Row Column method. This provides the advantage of being able to change the layout of the source workbook without having to re-write your code just because the field locations change.
with named range:
SourceBook.Range("SalesTotal") = TargBook.Cells(r,1)
w/o named range:
SourceBook.Range("B3") = TargetBook.Cells(r,1)
Using a query method as suggested works good if you are extracting data from workbooks having a list of records. If it is Excel form where data is not listed by rows then it may be easier to open both workbooks and walk through the fields using a macro.