Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
640to644
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
640to644
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Im Netzwerk exclusiv öffnen. VBA

Im Netzwerk exclusiv öffnen. VBA
24.07.2005 10:39:59
Kolloge
Hallo,
mehrere Anwender im Netzwerk sollen eine Datei (exclusiv) nacheinander öffnen, eine Zeile in Tabelle1 mit Daten einfügen und schnell wieder schließen, damit der nächste....
Die Datei wurde exclusiv gespeichert. Wie kann ich erfahren, ob diese Datei bereits von anderen Plätzen geöffnet wurde, um eine Zeitschleife einzubauen, wieder Nachfragen usw..
Ich habe exclusiv und Netzwerk im Forum gesucht und nichts gefunden. Bin ich blind?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Im Netzwerk exclusiv öffnen. VBA
24.07.2005 10:41:43
Hajo_Zi
Hallo Kolloge,
Wer hat Datei offen http://www.excel-center.de/forum/read.php?f=1&i=68240&t=68145
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


AW: Im Netzwerk exclusiv öffnen. VBA
24.07.2005 10:50:48
Matthias
Hallo Kolloge,
ergänzend könntest du über das Workbook_Open()-Ereignis eine Textdatei mit den Userdaten anlegen (Environ("USERNAME"), Environ("COMPUTERNAME")) und diese Datei beim Beenden wieder löschen. Dann genügt eine Abfrage dieser Textdatei - vorausgesetzt, der User beendet Excel nicht über den Task-Manager ;-)
Gruß Matthias
Anzeige
AW: Im Netzwerk exclusiv öffnen. VBA
25.07.2005 06:56:24
Kolloge
Hallo,
ist ja alles ganz schön, aber nicht so ganz was ich meine. Noch Einmal das Problem:
Viele Arbeitsplätze im Netzwerk öffnen und schreiben fast gleichzeitig eine Datei. Damit jeder die Datei exclusiv öffnen kann, wurde die Datei mit saveas AccessMode:=xlExclusive gespeichert.
Hier mein Versuch: Aber der Dialog muß weg!

Sub Makro2()
Dim Zeit
Zeit = Now() + 0.0007
Do
Workbooks.Open Filename:="\\Server\Login\ServerLogin.xls" _
, ReadOnly:=False, Notify:=False, AddToMru:=False
'Hier erscheint ein Fenster  ... Datei schreibgeschützt öffnen?
'das soll weg.
If Not ActiveWorkbook.ReadOnly Then
Exit Do
End If
ActiveWorkbook.Close
Loop Until Now() > Zeit
End Sub

Anzeige
AW: Im Netzwerk exclusiv öffnen. VBA
25.07.2005 17:58:14
Matthias
Hallo Kolloge,
mein neuer Voschlag:
in einer Schleife wird alle 2 Sekunden geprüft, ob die Datei zum exklusiven Öffnen frei ist. Wenn ja, wird sie erst dann geöffnet.

Function DateiInBearbeitung(s As String) As Boolean
Dim ff As Integer
On Error Resume Next
ff = FreeFile
Open s For Binary Access Read Lock Read As ff
Close ff
If Err.Number <> 0 Then
DateiInBearbeitung = True
Err.Clear
End If
End Function
Sub Makro2()
Const fn = "\\Server\Login\ServerLogin.xls"
Const msg = "Warte auf Zugiffsmöglicheit"
Range("A1").Value = msg
While DateiInBearbeitung(fn)
Range("A1").Value = Range("A1").Value & "."
Application.Wait Now + TimeValue("00:00:02") '2 sec warten
Wend
Range("A1").Value = "Datei ist frei und wird geöffnet!"
Workbooks.Open Filename:=fn
End Sub

GRuß Matthias
Anzeige
AW: Im Netzwerk exclusiv öffnen. VBA
25.07.2005 18:13:54
Kolloge
Hallo,
das war mein erster Gedanke, als ich mir "Dateiinbearbeitung" angesehen habe. Aber da Arbeitsplätze nahezu gleichzeitig Serverlogin öffnen wollen, es aber eine kurze Zeitspanne zwischen "Dateiinbearbeitung" und ".Open" gibt, bin ich immer noch nicht begeistert. Inszwischen setzte ich vor dem "blöden" Fenster "sendkey".
Meine Schleife:
Do
Application.SendKeys ("{RETURN}")
Workbooks.Open Filename:="D:\Office\Schule\Login\ServerLogin.xls" _
, ReadOnly:=False, Notify:=False, AddToMru:=False, _
IgnoreReadOnlyRecommended:=True '
If Not ActiveWorkbook.ReadOnly Then
Exit Do
End If
ActiveWorkbook.Close
Application.Wait (Now() + TimeValue("0:00:01"))
Loop Until Now() &gt Zeit
M.M. fehlt in VBA ein:
Workbooks.Open Filename, exclusiv
Anzeige
AW: Im Netzwerk exclusiv öffnen. VBA
25.07.2005 21:46:26
Matthias
Hallo Kolloge,
ich weiß nicht warum, aber wenn ich aus einem Makro heraus eine (in einer anderen Instanz) schon geöffnete Datei öffne, kommt diese Meldung überhaupt nicht, weder mit noch ohne "Application.DisplayAlerts = False".
Gruß Matthias
AW: Im Netzwerk exclusiv öffnen. VBA
25.07.2005 22:08:26
Kolloge
Hallo,
Seltsam. - Vielleicht liegt es am Betriebssystem. Hier XP Prof.
HL
AW: Im Netzwerk exclusiv öffnen. VBA
25.07.2005 22:33:53
Matthias
Hallo Kolloge,
ich hab hier Windows 2000 - ich glaube nicht, dass es daran liegt.
Was tust du denn eigentlich, wenn einer der vielen Anwender die Datei offen lässt? Evtl. im Eingabemodus, so dass Routinen, die die Datei automatisch schließen würden, nicht greifen?
Und wenn selbst die Millisekunden Zeitfenster zwischen Prüfen und Öffnen dich nicht zufriedenstellen: Eigentlich ist so eine Anwendung mehr was für eine Datenbank, meinst du nicht?
Oder eine Mappe, welche die vom Benutzer die einzufügenden Daten abfragt und in eine Textdatei speichert, welche später "in aller Ruhe" in die Mappe eingearbeitet werden kann (das geht natürlich nur, wenn der Benutzer nur Daten hinzufügt und keine verändert).
Noch eine Nachfrage wegen einer Äußerung ein paar Einträge weiter oben:
Damit jeder die Datei exclusiv öffnen kann, wurde die Datei mit saveas AccessMode:=xlExclusive gespeichert.
Ist das nicht der Standardmodus, der auch beim "normalen" Speichern verwendet wird?
Gruß Matthias
Anzeige
AW: Im Netzwerk exclusiv öffnen. VBA
25.07.2005 22:36:17
Kolloge
Hallo,
Application.DisplayAlerts = False
das war´s. Jetzt brauche ich kein sendkey und kann auch wieder problemlos mit Alt-Tab herumspringen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige