Clever-Excel-Forum

Normale Version: Bei Dokumentöffnen Nachfrage "Schreibgeschützt" oder nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

wir haben bei uns in der Firma das folgende Problem:
Es gibt Excel-Dateien, auf die mehrere Leute zugreifen sollen. Allerdings müssen nur die Projektleiter Änderungen vornehmen. 

Ideal wäre also folgende Möglichkeit:
Doppelklick auf die Datei => Pop-Up mit zwei Schaltflächen mit der Frage "Schreibgeschützt" oder "Zur Bearbeitung" öffnen.

Es soll kein Passwort verwendet werden. Im Idealfall ist die "Standard-Antwort" schreibgeschützt.

Gibt es hier etwas einfaches? Von Haus aus habe ich nichts gefunden.

Danke
Chelipe
Moin
Muss es unbedingt Doppelclick sein, oder geht evtl. auch etwas anderes?
z.B. Wechsel des Tabellenblatts oder Tastenkombination oder sonstwas

Gruss Igel
Probier doch mal das hier.
Hallo,

danke erstmal; das ist allerdings noch nicht so richtig das, was ich suche.
Vielleicht oder wahrscheinlich habe ich mich auch was unklar ausgedrückt.

Ihr kennt ja die Funktion, dass eine Excel-Datei komplett mit einem Passwort geschützt sein soll. Dann wird man ja beim Öffnen aufgefordert das Passwort einzugeben.
Statt dieser Frage soll nur kommen "schreibgeschützt öffnen" oder "zur Bearbeitung".

Heißt, wenn Mitarbeiter A das Dokument öffnet und "schreibgeschützt öffnen" wählt und danach Mitarbeiter B das Dokument öffnet, kann er es bearbeiten. So in die Richtung stelle ich mir das vor.

Grüße
Hallo Chelipe,

meines Wissens ist es nicht möglich, bereits vor dem Öffnen einer Excel-Mappe per VBA oder ähnlichem seine eigenen Dialoge zu verwenden.
Kennst Du die Funktion "Arbeitsmappe freigeben"? Vielleicht ist das eine Alternative für Dich?

LG Gerd
Hallo,

vor einiger Zeit gab es in einem Forum diesen Code, der prüft, ob eine Datei bereits geöffnet ist:


Code:
Private Declare Function lOpen Lib "kernel32" Alias "_lopen" _
  (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long
Private Declare Function lClose Lib "kernel32" _
  Alias "_lclose" (ByVal hFile As Long) As Long
Private Const OF_SHARE_EXCLUSIVE = &H10
Private Function FileIsOpen(strFullPath_FileName As String) As Boolean
  Dim hdlFile As Long
  Dim lastErr As Long
  hdlFile = -1
  hdlFile = lOpen(strFullPath_FileName, OF_SHARE_EXCLUSIVE)
  If hdlFile = -1 Then
      lastErr = Err.LastDllError
  Else
      lClose (hdlFile)
  End If
  FileIsOpen = (hdlFile = -1) And (lastErr = 32)
End Function
Sub CheckFileOpen()
  If FileIsOpen("Full File Name") Then
      MsgBox "File Is open"
  Else
      MsgBox "File Is Not open"
  End If
End Sub


Ohne Basiskenntnisse mit API's dürfte es schwierig sein.

mfg

(es gibt eine weitere Variante, eine Datei mit OPEN fileFOR INPUT zu öffnen und auf "lock" zu prüfen)
Hallo Chelipe,

folgender Code kommt in das schon vorhandene VBA-Modul 'DieseArbeitsmappe':



' **************************************************************
'  Modul:  DieseArbeitsmappe  Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************


Option Explicit

Private Sub Workbook_Open()
 If MsgBox("Schreibgeschützt öffnen?", vbYesNo + vbQuestion) = vbYes Then
   Me.ChangeFileAccess xlReadOnly
 End If
End Sub

Gruß Uwe
Hi,

Du könntest die Datei auch mit Schreibschutzempfehlung abspeichern, dann kommt beim Start immer die Nachfrage:
"Der Autor möchte gerne, daß Sie diese Datei schreibgeschützt öffnen!" mit den Buttons "Schreibschutz" und "Bearbeiten".

Das geht so:

"Datei" - "Speichern unter" - Pfad auswählen, Name eingeben - unten in diesem Dateispeicherfenster das "Tools" anklicken und dort dann "Allgemeine Optionen" und dann den Haken setzen bei "Schreibschutz empfehlen".
[attachment=14948][attachment=14949]
Danke Rabe, danke Kuwer!

Beides erscheint mir sinnvoll :) Mal sehen, welches wir dann nutzen werden!
Kuwer:

Was mir noch einfällt; gibt es eine Möglichkeit bei Deinem Script noch hinzufügen, dass diese Meldung bei bestimmten Personen (z.B. Projektleiter, Abteilungsleiter) nicht kommt? Wären so um die 10-15 Personen.

Danke
Chelipe
Seiten: 1 2