Yes you can do this with a macro.
You'll have to change the sheet name (anywhere it says "Sheet1"), and the range (anywhere it says "A1") where you have the date inputted.
Also I don't know if you need it or not, but I've set this to only print out weekdays (Mon-Fri) assuming you're using the standard 1900 windows date system. If you don't want it to do this (i.e. you want a printout for every day, including Saturdays and Sundays), you need to remove the lines I've put 'OPTIONALLY REMOVE at the end of.
To enter a macro, you need to press ALT-F11 in your spreadsheet, which brings up the VBA editor. Then go to Insert/Module and copy paste the code below. To run the macro, from a spreadsheet press ALT-F8, highlight "plusdate" and click "Run".
Sub plusdate()
Sheet1.PrintOut
For i = 1 To 31
Worksheets("Sheet1").Range("A1").Formula = Worksheets("Sheet1").Range("A1").Value + 1
If Worksheets("Sheet1").Cells(1, 1).Value Mod 7 > 1 Then 'OPTIONALLY REMOVE
Worksheets("Sheet1").PrintOut
End If 'OPTIONALLY REMOVE
Next i
End Sub