Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

wurde gedruckt?

wurde gedruckt?
24.09.2020 11: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

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

Betreff
Datum
Anwender
Anzeige
AW: wurde gedruckt?
24.09.2020 12: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 16: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 19: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 19:07:05
Hajo_Zi
Halo Hans,
lese den Beitrag komplett.
Im Modul "DieseArbeitsmappe":

AW: wurde gedruckt?
24.09.2020 19: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 19: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?
24.09.2020 22: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 11: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 11: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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige