AW: Wochentagabhängig drucken
28.01.2010 22:43:25
Tino
Hallo,
für jeden Tag ein anderes Tabellenblatt geht so, habe ich auch getestet.
Im Taskplaner (unter Vista und Win7 heißt der Aufgabenplanung),
musst Du diese Datei jede Nacht einmal ausführen lassen.
Der Taskplaner funktioniert normalerweise auch ohne Admin rechte,
was ich nicht weiß ob Skripte bei Dir geblockt werden oder nicht,
diese Frage kann ich Dir nicht beantworten.
Dim myXL_Application
Set myXL_Application = CreateObject("Excel.Application")
With myXL_Application
.Workbooks.Open "D:\TestDruck.xls",,True 'Pfad anpassen
.WindowState = 1
.Visible = True
Select Case Weekday(Date, 2)
Case 1: .Sheets("Monatg").Printout
Case 2: .Sheets("Dienstag").Printout
Case 3: .Sheets("Mittwoch").Printout
Case 4: .Sheets("Donnerstag").Printout
Case 5: .Sheets("Freitag").Printout
Case 6: .Sheets("Samstag").Printout
Case 7: .Sheets("Sonntag").Printout
End Select
.Quit
End With
Set myXL_Application = Nothing
Sonst kannst Du mal dies noch versuchen.
Erstelle eine neue Exceldatei mit diesem Code
kommt als Code in DieseArbeitsmappe
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime dTime, "PrintDatei", , False
End Sub
Private Sub Workbook_Open()
Dim Uhrzeit As Date
Uhrzeit = TimeSerial(2, 0, 0)
If Time >= TimeSerial(0, 0, 0) And Time < Uhrzeit Then
dTime = Date + Uhrzeit
Else
dTime = Date + 1 + Uhrzeit
End If
Application.OnTime dTime, "PrintDatei"
End Sub
kommt als Code in Modul1
Option Explicit
Public dTime As Date
Sub PrintDatei()
Dim meFile As Workbook
On Error Resume Next
Set meFile = Workbooks.Open("D:\TestDruck.xls", True, True) 'Pfad anpassen
If meFile Is Nothing Then
MsgBox "Sorry Datei konnte nicht geöffnet werden"
Exit Sub
End If
Err.Clear
On Error GoTo 0
On Error GoTo ErrorH:
With meFile
Select Case Weekday(Date, 2)
Case 1: .Sheets("Monatg").PrintOut
Case 2: .Sheets("Dienstag").PrintOut
Case 3: .Sheets("Mittwoch").PrintOut
Case 4: .Sheets("Donnerstag").PrintOut
Case 5: .Sheets("Freitag").PrintOut
Case 6: .Sheets("Samstag").PrintOut
Case 7: .Sheets("Sonntag").PrintOut
End Select
.Close False
End With
MsgBox "Ausdruck erfolgreich"
Exit Sub
ErrorH:
On Error Resume Next
meFile.Close False
MsgBox Err.Number & vbCr & vbCr & Err.Description, vbCritical, "Fehler beim Druck"
End Sub
Diese öffnest Du wenn Du Feierabend machst, achte darauf dass Makros aktiv sind.
Pfad zur Datei, die Tabellen die gedruckt werden sollen musst Du noch anpassen.
Gruß Tino