Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

wurde gedruckt?

Forumthread: wurde gedruckt?

wurde gedruckt?
24.09.2020 13:26:07
Johann
Hallo zusammen,
wenn man die Druckansicht aufruft, dann wird
ActiveWorkbook.BuiltinDocumentProperties("Last print date").Value
gesetzt. Ich würde gerne wissen, ob das Dokument nun gedruckt wurde, oder nicht.
Gibt es da eine Möglichkeit?
Grüße
Hans
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wurde gedruckt?
24.09.2020 14:28:28
Nepumuk
Hallo Hans,
da weder das aufrufen der Druckansicht, noch der Klick auf den Button "Drucken" ein verwertbares Event in Excel auslösen, sehe ich da schwarz.
Gruß
Nepumuk
AW: wurde gedruckt?
24.09.2020 18:06:26
max.kaffl@gmx.de
Hallo Hans,
jetzt ist mir gerade was eingefallen. Teste mal:
Im Modul "DieseArbeitsmappe":
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    MsgBox "Print"
End Sub

Gruß
Nepumuk
Anzeige
AW: wurde gedruckt?
24.09.2020 21:04:47
Johann
Hallo Nepumuk,
in welches Modul soll ich das reinpacken?
Durch wen, oder was soll diese Sub aufgerufen werden?
Danke im Voraus fpr Deine Antwort.
Grüße
Hans
AW: wurde gedruckt?
24.09.2020 21:07:05
Hajo_Zi
Halo Hans,
lese den Beitrag komplett.
Im Modul "DieseArbeitsmappe":

Anzeige
AW: wurde gedruckt?
24.09.2020 21:15:36
Nepumuk
Hallo Hans,
das ist eine Event-Routine die durch das Drucken ausgelöst wird.
Die muss in das Modul "DieseArbeitsmappe".
Gruß
Nepumuk
AW: wurde gedruckt?
24.09.2020 21:16:20
Daniel
Soweit ich mich erinnern kann, wird das aus der gleichen Situation getriggert wie die BuiltInProperty, nämlich schon vor dem erstellen der Druckvorschau (Ist ja auch notwendig, denn sonst würde die Druckvorschau ja u.U ein falsches Ergebnis liefern)
Auch vor einem SpeichernUnter als PDF muss dieses Makro laufen, dh. feststellen, ob tatsächlich was an den Drucker geschickt wurde, kann man damit nicht.
Gruß Daniel
Anzeige
AW: wurde gedruckt?
25.09.2020 00:47:40
Johann
Danke an alle.
Es klappt nicht. Es lässt sich nicht unterscheiden zwischen Druckvorschau mit, oder ohne nachfolgendem Ausdruck.
Schade, aber danke für Eure Mühe.
Grüße
Hans
AW: wurde gedruckt?
25.09.2020 13:09:06
Nepumuk
Hallo Hans,
bei mir wird die Event-Prozedur nur ausgelöst wenn ich wirklich drucke, nicht durch die Seitenansicht. Du kannst ja eine eigene Property anlegen in der du das Datum des Drucks einträgst.
Im Modul "DieseArbeitsmappe":
Option Explicit

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim objDocumentProperty As DocumentProperty
    For Each objDocumentProperty In CustomDocumentProperties
        If objDocumentProperty.Name = PRINT_DATE Then Exit For
    Next
    If objDocumentProperty Is Nothing Then
        Call CustomDocumentProperties.Add(Name:="PrintDate", _
            LinkToContent:=False, Type:=msoPropertyTypeDate, Value:=Now)
    Else
        objDocumentProperty.Value = Now
        Set objDocumentProperty = Nothing
    End If
End Sub

In einem Standardmodul (Menüleiste - Einfügen - Modul):
Option Explicit

Public Const PRINT_DATE As String = "PrintDate"

Public Sub GetLastPrintDate()
    Dim objDocumentProperty As DocumentProperty
    For Each objDocumentProperty In ThisWorkbook.CustomDocumentProperties
        If objDocumentProperty.Name = PRINT_DATE Then Exit For
    Next
    If objDocumentProperty Is Nothing Then
        Call MsgBox("Dokument wurde noch nicht gedruckt.", vbExclamation, "Hinweis")
    Else
        Call MsgBox(Format$(objDocumentProperty.Value, "dd.mm.yyyy Hh:Nn:Ss"), vbInformation, "Information")
        Set objDocumentProperty = Nothing
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: wurde gedruckt?
25.09.2020 13:25:18
Nepumuk
Hallo Hans,
in der Event-Prozedur ist der Property-Name noch hart codiert. Daher:
Option Explicit

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim objDocumentProperty As DocumentProperty
    For Each objDocumentProperty In CustomDocumentProperties
        If objDocumentProperty.Name = PRINT_DATE Then Exit For
    Next
    If objDocumentProperty Is Nothing Then
        Call CustomDocumentProperties.Add(Name:=PRINT_DATE, _
            LinkToContent:=False, Type:=msoPropertyTypeDate, Value:=Now)
    Else
        objDocumentProperty.Value = Now
        Set objDocumentProperty = Nothing
    End If
End Sub

Gruß
Nepumuk
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18