Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
820to824
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
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

zeitabhängiger Dateizugriff

zeitabhängiger Dateizugriff
24.11.2006 11:35:27
Frank
Hallo,
ich habe ein Problem wo ich wieder auf Euer Know how angewiesen bin.
Ich würde gern meinen Kollegen eine Datei zur Verfügung stellen die aber an ein bestimmtes Zeitfenster gebunden ist.
Als Beispiel - das Tool soll z.B.nur in der Zeit von 14:00 bis 16:00Uhr zur Verfügung stehen. Über application.ontime müßte ich es noch steuern, dass es ohne Nachfrage nach 10min geschlossen wird. Das sollte nicht das Thema sein vielmehr das zeitfenster macht mir sorgen.
Ich stelle mir das so vor.
Beim Aufruf läuft das Autostartmakro an, welches eine Userform mit Textbox für ein Passwort öffnet welches unterscheidet ob der User nur im besagten zeitintervall die datei zu sehen bekommt oder mit Passwort das Zeitfenster uneingeschränkt überschreiten kann.
Möchte an die Lösung schritt für schritt rangehen. Wie schaue ich denn als erstes auf die systemzeit um eine Abhängigkeit einzuleiten?
Gruß Frank

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zeitabhängiger Dateizugriff
24.11.2006 12:21:48
Coach
Hallo Frank,
das wäre dann so:
If (CDbl(CDate("14:00:00")) &lt= (Now - Int(Now))) And ((Now - Int(Now)) &lt= CDbl(CDate("16:00:00"))) Then
'dein Code
End If
Gruß Coach
AW: zeitabhängiger Dateizugriff
24.11.2006 20:47:03
Frank
Hallo Coach,
das hilft mir schonmal ein gnzes Stück weiter.
Danke
AW: zeitabhängiger Dateizugriff
24.11.2006 22:46:37
Frank
Hei,
ich bins nochmal.
Habe meine Datei mal angehängt. Das password ist frank.
Mich stört nur eins, wenn ich die Datei aufrufe kommt die Abfrage Makros aktivieren, deaktivieren. ich möchte wenn der User deaktiviert betätigt, dass meine Datei gar nicht geöffnet wird oder halt nur Tabellenblatt 4 mit meiner userform zur Passworteingabe aktiviert wird.
https://www.herber.de/bbs/user/38492.xls
Hat jemand einen Tip - danke
Gruß Frank
Anzeige
AW: zeitabhängiger Dateizugriff
25.11.2006 05:16:11
Coach
Hallo Frank,
der Tipp ist, die Datei im gewünschten Zustand zu speichern und diesen durch Arbeitsmappen/+Arbeitsblatt-Schutz vorher zu sichern.
Viele Grüße
Coach
AW: zeitabhängiger Dateizugriff
25.11.2006 07:46:57
Frank
Guten Morgen,
hatte ich ja auch schon probiert. Funktioniert halt nur so lange, so lange die jenigen Benutzer welche mit Passwort auf die Datei zu greifen dürfen nichts abspeichern.
Durch die Passworteingabe werden sämtliche Tabellen sichtbar gemacht. Beim Abspeichern und erneuten Aufruf über makros deaktivieren sind dann diese Blätter sichtbar.
Diese sollen aber allen anderen Mitarbeitern nur in meinem festgelegten Zeitfenster zur Einsicht zur Verfügung stehen.
Hintergrund ist welcher, das meine Mitarbeiter auf die Datei leserechte haben sich aber nicht damit 8h beschäftigen sollen - es gibt wichtigeres!!!:-)
Frank
Anzeige
AW: zeitabhängiger Dateizugriff
25.11.2006 09:30:48
Coach
Hallo Frank,
ich meinte Du mußt bei jedem(!) Speichern (Workbook_BeforeSave) den gewünschten Zustand herstellen und dann sofort wieder auflösen. Kein SpeichernUnter zu lassen (If SaveAsUI=true Then Cancel=True).
Am besten ein Änderungskriterium mitführen und nur speichern, wenn etwas verändert wurde.
Gruß Coach
AW: zeitabhängiger Dateizugriff
25.11.2006 18:38:27
Frank
hallo coach,
bin gerade aus berlin zurück - werde mir das heute abend oder morgen früh nochmal ansehen. melde mich in jedenfall.
gruß frank
AW: zeitabhängiger Dateizugriff
26.11.2006 13:48:34
Frank
Hallo,
habe mich heute morgen mit meinem "Problem" weiter beschäftigt. Komme aber absolut nicht weiter.
ich weiß nicht, wo ich die Befehle einbauen soll. :-(
Meine Mitarbeiter haben auf die datei nur Lesezugriff deswegen ist die Idee Speichern unter zu untersagen hervorragend. Zum anderen erscheinen immer wieder alle 5 Tabellenblätter wenn beim Start Markros deaktiviert werden?
Habe meinen Code mal mit gesendet. Vielleicht kannst du nochmal drüberschauen.
Kann mit dem Befehl Workbook_beforeclose auch nicht so recht was anfangen obwohl der name eindeutig ist.
Gruß Frank
Public

Sub auto_open()
Sheets("Tabelle1").Visible = False
Sheets("Tabelle2").Visible = False
Sheets("Tabelle3").Visible = False
Sheets("Tabelle5").Visible = False
UserForm_Initialize.Show
End Sub

Public

Sub nur_lese()
If (CDbl(CDate("12:30:00")) <= (Now - Int(Now))) And ((Now - Int(Now)) <= CDbl(CDate("13:30:00"))) _
Or (CDbl(CDate("21:30:00")) <= (Now - Int(Now))) And ((Now - Int(Now)) <= CDbl(CDate("21:33:00"))) _
Or (CDbl(CDate("21:40:00")) <= (Now - Int(Now))) And ((Now - Int(Now)) <= CDbl(CDate("21:45:00"))) _
Or (CDbl(CDate("21:53:00")) <= (Now - Int(Now))) And ((Now - Int(Now)) <= CDbl(CDate("22:40:00"))) Then
Sheets("Tabelle1").Visible = False
Sheets("Tabelle2").Visible = False
Sheets("Tabelle3").Visible = False
Sheets("Tabelle5").Visible = False
Windows("zeitbegrenzt.xls").Close savechanges:=False
Else
Sheets("Tabelle1").Visible = True
Sheets("Tabelle2").Visible = True
Sheets("Tabelle3").Visible = True
Sheets("Tabelle5").Visible = True
End If
Dim NextTime As Date
Application.OnTime Now + TimeValue("00:10:00"), "Close1"
End Sub

Public

Sub lese_schreibe()
Sheets("Tabelle1").Visible = True
Sheets("Tabelle2").Visible = True
Sheets("Tabelle3").Visible = True
Sheets("Tabelle5").Visible = True
Dim NextTime As Date
Application.OnTime Now + TimeValue("00:20:00"), "Close2"
End Sub


Sub Close2()
Sheets("Tabelle1").Visible = False
Sheets("Tabelle2").Visible = False
Sheets("Tabelle3").Visible = False
Sheets("Tabelle5").Visible = False
If SaveAsUI = True Then Cancel = False 'falsche Stelle?
Windows("zeitbegrenzt.xls").Close savechanges:=True
End Sub


Sub Close1()
Sheets("Tabelle1").Visible = False
Sheets("Tabelle2").Visible = False
Sheets("Tabelle3").Visible = False
Sheets("Tabelle5").Visible = False
If SaveAsUI = True Then Cancel = True 'falsche Stelle?
Windows("zeitbegrenzt.xls").Close savechanges:=False
End Sub

Anzeige
AW: zeitabhängiger Dateizugriff
26.11.2006 14:54:49
Frank
Hi,
habs so hinbekommen - Danke für Deine Tipps
Gruß Frank
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim objWks As Worksheet
If SaveAsUI Then
MsgBox "Speichern unter ist nicht erlaubt"
Else
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Tabelle4.Visible = xlSheetVisible
For Each objWks In Worksheets
If Not objWks Is Tabelle4 Then _
objWks.Visible = xlSheetVeryHidden
Next
ThisWorkbook.Save
For Each objWks In Worksheets
objWks.Visible = xlSheetVisible
Next
Tabelle4.Visible = xlSheetVeryHidden
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
ThisWorkbook.Saved = True
End If
Cancel = True
End Sub


Private Sub Workbook_Open()
UserForm_Initialize.Show
End Sub

Anzeige
Gratulation
26.11.2006 15:19:29
Coach
Gruß Coach

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige