Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Ablaufdatum einer Excelmappe
#21
Hallo,

das Speichern als Addin dient dazu, dass man bei fehlendem Passwort keine Blätter sieht und die Mappe auch über das Ansicht-Menü (Fenster wechseln, Einblenden) nicht erreichbar ist.

Wenn das nicht gewünscht ist, kannst Du das auch rausnehmen. Wenn der Anwender die Mappe ohne die Makros zu aktivieren öffnet, hat er dann allerdings entsprechenden Zugriff. Eine Alternative wäre dann nur das Ein- und Ausblenden von Blättern im Makro. Du brauchst dazu aber ein zusätzliches Blatt, da man nicht alle Blätter ausblenden kann. Das Ausblenden müsstest Du dann im Before_Save-Ereignis programmieren.

Das mit den verschiedenen Zeiträumen ist möglich, Du brauchst dann nur verschiedene IF zu programmieren. Die entsprechenden Daten kannst Du z.B. auf einem ausgeblendeten Blatt hinterlegen oder eben auch, wie in Deinem code, fest programmieren.

Mal was allgemeines - musst Du bei den kurzen Makrosnicht unbedingt berücksichtigen: Ich würde die Daten aus Prinzip in Konstanten am Codeanfang definieren, damit man bei Änderung nicht irgendwo im code suchen und ändern muss.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#22
Hallo Schauan,

habe heute morgen etwas gepostet und nun ist es weg oder irgendwo anderst mit einem Verweis.

Ich wollte doch nur wissen ob es ohne Addin geht und wenn ja wie .

Da Ich leider wie schon oft erwähnt kein VBA ler bin tue Ich mir damit sehr schwer, aufzeichnen eines Makros schaff Ich noch.

Darum die Frage ob mir jemand behilflich sein kann.
Antworten Top
#23
Hallo,

nimm diese

Code:
ThisWorkbook.IsAddin = True

und diese

Code:
ThisWorkbook.IsAddin = False

aus dem Makro heraus.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#24
Hallo wavemaster,

wir bekommen das schon hin. Ich merk mir nur nicht allzu oft den Kenntnisstand des jeweiligen Fragestellers. Ich gehe auch davon aus, dass der sich mit der Zeit ja hoffentlich ändert... In meiner Antwort hab ich beschrieben, was passiert, wenn Du die Mappe nicht als AddIn speicherst. Ich weiß nun nicht, was Dir recht ist Sad

Hier mal ein Beispiel / Ansatz auf Basis von Deinem letzten code, die für das AddIn relevanten Zeilen sind auskommentiert, der Vorschlag von Uwe hier auch nochmal eingearbeitet, ohne das Interaktive, wo Dich der Fehler gestört hat ...

Wenn das Datum zwischen den beiden Daten liegt, kann die Mappe nach Eingabe des Passwortes bearbeitet werden. Ist das Passwort falsch, wird die Mappe geschlossen. Liegt das Datum außerhalb der beiden Daten, kann der user zwar in der Mappe herumschreiben, diese aber nicht im Original speichern - lediglich unter einem anderen Namen oder einem anderen Speicherort.

Wenn der user die Mappe ohne aktivierte Makros öffnet, hat er erst mal alle Möglichkeiten. Das erfordert, wie ich schon schrieb, weitere codezeilen, eventuell ein zusätzliches Blatt usw. Die Blätter, die der user ohne Passwort nicht sehen soll, müssen beim Speichern ausgeblendet werden und beim öffnen Eingeblendet...

PHP-Code:
Private Sub Workbook_Open()
Dim d As String
If Date >= CDate("15.04.2008") And Date <= CDate("15.04.2009"Then
  
'ThisWorkbook.IsAddin = True
  d = InputBox("Passwort eingeben", _
  "Zugangsbeschränkung", "xx")
  If d <> "PASSWORT" Then ' 
hier Passwort eintragen
    
'MsgBox "jetzt nicht mehr"
    ThisWorkbook.Close savechanges:=False
    '
Exit Sub
  End 
If
Else
 
 Me.Saved True
  Me
.ChangeFileAccess xlReadOnly
End 
If
'ThisWorkbook.IsAddin = False
End Sub 
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#25
Morgen zusammen,

das Makro von schauan ist soweit OK funktioniert.
Als VBA Laie stöbere Ich natürlich  bei unserem Freund Google umher um noch gewiesse Makros oder anregungen zu finden. Auch da wird man nicht immer fündig.

Meine Frage zu dienem Makro Schauan,

kann man eigentlich am Schluß des Makros eine Zeile einfügen in der ein speichern der Datei nach dem zb. 15.04.2009 nicht mehr möglich ist oder noch besser er sperrt die ganze Arbeitsmappe für Eingaben.

Huh
Antworten Top
#26
Hallöchen,

wie ich bereits schrieb, ist außerhalb des Datums nur noch Speichern Unter möglich. Soll das auch vermieden werden?

Dann könntest Du noch diesen code in DieseArbeitsmappe einfügen:

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  If ThisWorkbook.ReadOnly And SaveAsUI = True Then Cancel = True
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste