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

Schreibschutzabfrage bevor eine Excel-Datei geöffn

Schreibschutzabfrage bevor eine Excel-Datei geöffn
30.09.2004 14:34:29
Thorsten
Hallo Hallo Hallo,
habe keine kleine Frage und und grosses Problem.
Ich möchte über ein VBA-Makro (Excel) eine Excel-Datei öffnen.
Diese Datei darf aber nur geöffnet werden, wenn sie niemand anders geöffnet hat.
Also, die Datei darf nicht Schreibgeschütz geöffnet werden.
Als Beispiel noch mein Code:
Dim Dateiname As String
Dateiname = Dir(pfad_programm + datei)
If Dateiname = "" Then
MsgBox "Pfad oder Dateiname nicht gefunden. Hilfe finden Sie unter 'help'"
help.Show
End
Else
Workbooks.Open FileName:=pfad_programm & datei, _
UpdateLinks:=0, Notify:=True
End If
Vielen Dank schonmal
mfg
Thorsten Böing

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schreibschutzabfrage bevor eine Excel-Datei geöffn
WernerB.
Hallo Torsten,
mal als Anregung:

Sub DateiZustand()
Dim Pfad As String
Pfad = "D:\Eigene Dateien\Tabellen\Privat\MappeA.xls"
If DateiIstFrei(Pfad) = False Then
MsgBox "Datei ist bereits geöffnet !"
Else
MsgBox "Datei ist z.Zt. nicht geöffnet !"
End If
End Sub


Function DateiIstFrei(sDateiname As String) As Boolean
Dim hFile As Integer
On Error Resume Next
hFile = FreeFile()
Open sDateiname For Random Access Read Lock Read Write As #hFile
If Err Then
DateiIstFrei = False
Else
DateiIstFrei = True
End If
Close #hFile
End Function

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Schreibschutzabfrage bevor eine Excel-Datei geöffn
30.09.2004 15:03:06
ThorstenB
1000 DANK
es hat funktioniert.
kann ich nun auch noch rausbekommen von welchem benutzer diese Datei geöffnet ist?
mfg
Thorsten
AW: Schreibschutzabfrage bevor eine Excel-Datei geöffn
30.09.2004 15:14:03
ThorstenB
nochmals ich mit einer kleinen Frage:

Function DateiIstFrei(sDateiname As String) As Boolean
Dim hFile As Integer
On Error Resume Next
hFile = FreeFile()
Open sDateiname For Random Access Read Lock Read Write As #hFile
If Err Then
DateiIstFrei = False
Else
DateiIstFrei = True
End If
Close #hFile
End Function

wofür steht in dem Code
#hFile
?
und was ist
FreeFile()
danke und einen gruss
Thorsten
Anzeige
AW: Schreibschutzabfrage bevor eine Excel-Datei geöffn
30.09.2004 15:14:08
ThorstenB
nochmals ich mit einer kleinen Frage:

Function DateiIstFrei(sDateiname As String) As Boolean
Dim hFile As Integer
On Error Resume Next
hFile = FreeFile()
Open sDateiname For Random Access Read Lock Read Write As #hFile
If Err Then
DateiIstFrei = False
Else
DateiIstFrei = True
End If
Close #hFile
End Function

wofür steht in dem Code
#hFile
?
und was ist
FreeFile()
danke und einen gruss
Thorsten
AW: Schreibschutzabfrage bevor eine Excel-Datei geöffn
WernerB.
Hallo Thorsten (diesmal mit "h"!),
Deine Fragen beantworte ich wie folgt:
- Wer hat die Datei geöffnet?
Diese Frage taucht in größeren zeitlichen Abständen immer wieder in diesem Forum auf. Eine simple Lösung (z.B. mit einer benutzerdefinierten Funktion) habe ich dabei aber noch nie gesehen. Wenn ich mich recht erinnere, hat Hans W. Herber vor einigen Monaten dazu mal (sinngemäß) diesen Vorschlag (allerdings ohne Beispiel-Makro) unterbreitet:
1. Jedes Mal, wenn die betreffende Datei geöffnet wird, wird per Makro der Name des dateiöffnenden Anwenders in eine Textdatei geschrieben. Der vorherige Eintrag wird dabei überschrieben; damit beinhaltet diese Textdatei immer nur eine Zeile.
2. Bei dem Versuch, die Datei ein zweites Mal zu öffnen, liest ein Makro diesen Namen aus der Textdatei aus, und bringt eine entsprechende Meldung auf den Bildschirm, dass eben diese Datei bereits von dem Anwender XY geöffnet wurde.
- #hFile usw.
Die benutzerdefinierte Funktion "DateiIstFrei" stammt nicht von mir, ich habe Sie vor längerer Zeit in diesem Forum gefunden.
Deshalb kann ich Dir nur meine auf gefährlichem Halbwissen basierende Annahme (d.h., ich weiß es auch nicht) mit aller Vorsicht dazu anbieten: Vermutlich wird eine temporäre Datei geöffnet und wieder geschlossen.
Gruß
WernerB.
Anzeige
AW: Schreibschutzabfrage bevor eine Excel-Datei geöffn
01.10.2004 08:23:30
ThorstenB
Danke für diese ausführliche Antwort.
Die Idee mit der Datei in dem der Name geschrieben wird ist echt gut.
Danke
Gruss
Thorsten
AW: Schreibschutzabfrage bevor eine Excel-Datei geöffn
WernerB.
Hallo Thorsten,
falls Du die Idee mit der Datei in die der Name geschrieben wird nicht nur "echt gut" findest, sondern dazu eventuell auch Makros erstellst (zum Schreiben und zum Lesen):
Könntest Du diese dann hier ins Forum stellen?
Gruß
WernerB.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige