I'd arrange the workbooks to be printed in an Excel table. For that example, name you need 2 columns: name of the workbook, orientation (1 = portrait, 2 = landscape). Now name the first name cell "rngPrint" and try the following macro (don't forget to change sPath!):
Sub PrintAll()
Dim iRow%, iCol%, Wb As Workbook, MainWs As Worksheet, sPath$, Ws As Worksheet
sPath = "E:\test\" 'Adjust to your path!!
Set MainWs = ActiveWorkbook.Worksheets(1)
iRow = MainWs.Range("rngPrint").Row
iCol = MainWs.Range("rngPrint").Column
Do Until MainWs.Cells(iRow, iCol).Value = ""
Set Wb = Application.Workbooks.Open(sPath & MainWs.Cells(iRow, iCol).Value)
For Each Ws In Wb.Worksheets
Ws.PageSetup.Orientation = MainWs.Cells(iRow, iCol + 1).Value
Ws.PrintOut
Next Ws
Wb.Close False
iRow = iRow + 1
Loop
End Sub
Daniel