Excel-Datei nur x-mal drucken

  • #1
F

Franken

Mitglied
Themenersteller
Dabei seit
27.12.2002
Beiträge
7
Reaktionspunkte
0
Habe folgendes Problem:
Ich möchte eine Excel-Datei mit 2 Arbeitsblättern weitergeben und diese Datei soll vor Veränderungen geschützt sein (bereits mittels Blattschutz geschehen), sowie sich nur 1-2 mal ausdrucken lassen. Das Makro muß dann natürlich automatisch gestartet werden auch wenn andere Benutzer diese über die Makro-Sicherheit deaktiviert haben (notfalls lässt sich die Datei dann ohne Makros nicht anzeigen).
Habe bisher noch keine Erfahrungen beim Programmieren von Makros :'( .
Es muß also möglich sein, daß entweder sich die Datei nach dem Drucken selbst löscht oder das Drucken über das Menü deaktiviert wird.
 
  • #2
Hallo, zuerst ersttellst Du die Datei so, dass wichtige Daten verborgen sind. Z. B. Du benennst dein Blatt Deckblatt, dann klickst Du Format; Blatt; Ausblenden.
Das heisst, dass beim öffnen der Datei ohne Makros Dein Blatt nicht sichtbar wird.
Das blatt wird mit folgendem Coding beim Öffnen wieder sichtbar:
'_________________________________
Private Sub Workbook_Open()
On Error GoTo ENDE
    Sheets(Deckblatt).Visible = True
    Sheets(Deckblatt).Select
    Range(A1).Select
ENDE:
Exit Sub
End Sub
'__________________________
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error GoTo ENDE
If Sheets(Deckblatt).Visible = True Then
    Sheets(Deckblatt).Select
    ActiveWindow.SelectedSheets.Visible = False
End If
    ActiveWorkbook.Save
ENDE:
Application.DisplayAlerts = False
ActiveWorkbook.Close
Exit Sub
End Sub
'___________________________________
'Wichtig: !!!Der Coding muss in VisualBasic-Editor in
'die DieseArbeitsmappe eingetragen werden!!!!!'
Zur Begrenzung der Druckvorgängen in der nächsten Antwort..
Viel erfolg beim Testen
;)
Sergey
 
  • #3
Hier wie versprochen der Coding zur Begrenzung der Druckvorgänge.
(Es konnte sein, dass jemand eine bessere lösung hat, aber auf der schnelle werde ich diese Benutzen. Bin für die Korrektur oder Verbesserungsvorschläge offen.)
'_________________________________
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Zaehler
    If Sheets(Deckblatt).Range(IV1).Value = Then
        Zaehler = 1
    Else
        Zaehler = Sheets(Deckblatt).Range(IV1).Value
        Zaehler = Zaehler + 1
    End If
MsgBox Dokument wird das & Zaehler & . Mal gedruckt. & vbCrLf _
& Nach dem 3. Druckvorgang werden die Daten gelöscht
        If Zaehler > 2 Then
            Sheets(Deckblatt).Select
            Application.DisplayAlerts = False
            ActiveWindow.SelectedSheets.Delete
            ActiveWorkbook.Save
            Application.DisplayAlerts = False
            ActiveWorkbook.Close
        Else
            Sheets(Deckblatt).Range(IV1).Value = Zaehler
            Application.DisplayAlerts = False
            ActiveWorkbook.Save
        End If
    If Sheets(Deckblatt).Columns(IV:IV).EntireColumn.Hidden = False Then
       Sheets(Deckblatt).Columns(IV:IV).EntireColumn.Hidden = True
    End If
End Sub
'________________________________
Viele Grüße
Sergey
P.S. konnte nicht ausführlich testen, weil zuhause ich keinen Drucker habe. Hoffe aber, dass der Coding fehlerfrei laufen wird.
::)
 
  • #4
Um nicht übergenau sein zu wollen, aber selbst bei der besten Lösung, musst Du immer bedenken - Du übergibst die Datei in irgendeiner Form.

Ich gehe mal davon aus, dass Du beim Drucken/Anwenden der Datei nicht dabei bist, und Du deshalb diesen Schutz überhaupt benötigst.
Aber wie übergibst Du die Datei - per Mail? Also kein Thema diese Datei immer wieder aus dem Posteingang wiederherzustellen ;)

Myrddin
 
  • #5
Erst mal vielen Dank an Euch.

@Sergey
Das mit dem Blätter verbergen haut ja hin, aber mit dem Drucken klappt es leider nicht. Liegt glaub ich daran, das die Blätter gechützt sind.

@Myrddin
Hast irgendwie schon recht, vielleicht doch lieber ein Haltbarkeitsdatum für die Datei einbauen, dann kann man zwar bis dahin so oft drucken wie man will aber dann ist irgendwann mal Schluß.
 
Thema:

Excel-Datei nur x-mal drucken

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.839
Beiträge
707.962
Mitglieder
51.492
Neuestes Mitglied
Janus36
Oben