Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
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
Inhaltsverzeichnis

Möglichkeiten der Prüfung einer ext. Excel-Datei

Möglichkeiten der Prüfung einer ext. Excel-Datei
30.05.2016 13:55:40
Christian
Hallo,
ich möchte hier eine Art Brainstorming durchführen, da ich dieses Mal überhaupt keinen Ansatz finde (sonst weiß ich in der Regel, was ich will und frage hier nach der richtigen Vorgehensweise).
Vorgaben:
1.) Ich habe eine nicht freigegebene Arbeitsmappe als Kundendatenbank. Diese Datei kann deshalb immer nur ein Nutzer öffnen um dann Änderungen vorzunehmen.
2.) Ich habe eine weitere freigegebene (!) Datei, welche den Inhalt der ersten Datei wiedergibt und von mehreren Personen gleichzeitig eigentlich immer geöffnet ist. Dort werden aber keine Änderungen in den Stammdaten vorgenommen! (Verhindert durch Blattschutz)
Wunschergebnis:
Wenn ein Benutzer in der ersten Datei eine Änderung vorgenommen hat, würde ich gerne eine Möglichkeit haben, alle Benutzer der zweiten Datei dieses Mitzuteilen (Durch eine MSGBox, ein Blinklicht, eine eingefärbte Zelle, was weiß ich). Die jeweiligen Nutzer der zweiten Datei können dann darauf reagieren (sie müssten ein Makro ausführen), können dass aber auch erst zeitverzögert machen, wenn Sie z.B. gerade etwas anderes am PC arbeiten (Briefe schreiben, surfen, Youtube-Videos gucken usw. *g*).
Wichtig:
Während der gewünschten Änderungsabfrage, wie die auch immer aussehen mag (gerne aber VBA), möchte ich den Arbeitsprozess der Benutzer möglichst nicht behindern, da diese eventuell gerade in einer anderen Exceldatei arbeiten usw. Es sollen also keine Lacks enstehen, also das kurze einfrieren des Bildschirms oder der gleichen.
Hat jemand eine Idee?
Gruß
Christian

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Möglichkeiten der Prüfung einer ext. Excel-Datei
30.05.2016 15:36:34
Michael
Hi Christian,
ich würde mal testen, ob es so funktioniert:
a) die nicht freigegebene Datei (nfD) erhält ein Makro, das eine simple Textdatei schreibt, die z.B. "Hier.txt" heißt und einen im Prinzip uninteressanten Text enthält, z.B. "Hello world".
b) die fD fragt beim Öffnen den Zeitstempel dieser Textdatei ab.
c) während sie geöffnet ist, fragt ein Makro zeitgesteuert, meinetwegen alle 5 Minuten, den Zeitstempel ab und vergleicht ihn mit dem zuletzt hinterlegten:
wenn er identisch ist, dann
nix
sonst
erzeuge Hinweis
ersetzte den alten durch den neuen Zeitstempel
wenn ende
Die Textdatei wird dabei nur "dir-mäßig" abgefragt, aber nicht geöffnet, so daß es eigentlich keine Probleme mit "Zugriffen" geben sollte.
Bekommst Du das VBA-mäßig hin?
Schöne Grüße,
Michael

Anzeige
AW: Möglichkeiten der Prüfung einer ext. Excel-Datei
31.05.2016 08:21:50
Christian
Hallo Michael,
danke für deine ersten Ideen.
1.) Kann ich mir nicht theoretisch den Umweg über die TXT-Datei sparen. Man müsste doch eigentlich auch den Datumsstempel der nicht freigegebene Datei (Kundendatenbank) genauso auslesen können, oder?
2.) Was meinst du mit "dir-mäßig"?
Ich denke, dass ich da doch einiges an Hilfe im VBA brachen würde, um diesen Code zu schreiben... ;-)
Gruß
Christian

Möglichkeiten der Prüfung einer ext. Excel-Datei
01.06.2016 19:31:06
Michael
Hi Christian,
a) ist mir hinterher auch aufgegangen: braucht's nicht.
b) mit dem oben skizzierten If... kommst Du zurecht?
"dir-mäßig" meinte halt "lesend aus der FAT", d.h. ohne die Datei zu öffnen. Das geht mit Shell & dir (dem Kommandozeilenbefehl) und noch viel schöner so:
Option Explicit
Sub D_Datum()
Dim s$, p$
p = Range("C2").Value
s = Dir(p)
If s  "" Then Range("C3").Value = FileDateTime(p)
End Sub

Den Umweg über das Dir habe ich eingebaut, weil man so etwaige Fehler abfangen kann, falls die Datei aus irgendeinem Grund nicht zu finden sollte. FileDateTime ist ein richtig netter Befehl...
Schöne Grüße,
Michael

Anzeige
AW: Möglichkeiten der Prüfung einer ext. Excel-Datei
03.06.2016 08:16:49
Christian
Hallo Michael,
so ganz komme ich mit dem Code noch nicht klar...
Also die nicht freigegebene Datei liegt bei mir hier: Z:\Kartei\Adressen.XLSM
WO gebe ich denn bei deinem zuletzt genannten Code den Speicherort dieser Datei an. Um den IF-Teil des Codes kümmere ich mich später, wenn ich diese Grundsatzsache verstanden habe... ;-)
Gruß
Christian

FileDateTime allg.
03.06.2016 14:43:34
Michael
Hi Christian,
der stand bei mir in C2. Du kannst es natürlich direkt im Makro "fest verdrahten", weil es bei Dir eh immer die gleiche Datei ist, also in der Zeile mit p= statt Range(...) dann so:
p = "Z:\Kartei\Adressen.XLSM"
Hier noch die allgemeine Variante:
Sub DatenXLSMAnzeigen()
Dim p As Variant    ' hier nicht als String, weil auch false möglich
Dim s$
p = Application.GetOpenFilename("xlsm-Datein *.xlsm ,*.xlsm")
If p = False Then Exit Sub   ' falls abgebrochen
s = Dir(p)                   ' liefert Dateinamen, aber ohne Pfad
If s  "" Then
MsgBox FileDateTime(p)    ' deshalb hier Aufruf mit p statt s
End If
End Sub
Schöne Grüße,
Michael

Anzeige
Du könntest es mit...
31.05.2016 12:24:22
Case
Hallo, :-)
... "Shell" und "MSG" probieren (bzw. Net Send in älteren Windowsversionen): ;-)
Option Explicit
Sub Main()
Dim dblTMP As Double
dblTMP = Shell("msg * /SERVER:127.0.0.1 /TIME:3 Das ist ein Test!", vbMinimizedNoFocus)
End Sub
Funktionsweise ist natürlich von eurer Netzwerkkonfiguration abhängig!
Im obigen Beispielcode wird eine Meldung für 3 Sekunden auf dem eigenen Rechner angezeigt.
Servus
Case

AW: Du könntest es mit...
31.05.2016 14:32:32
Christian
Hallo Case,
danke für deine Antwort. Leider kann ich dir nicht ganz folgen.
Was genau prüft nun dein Code? Nur den Zugriff auf den Server?
Gruß
Christian

Anzeige
Keine Prüfung - sondern ein Nachrichtendienst...
31.05.2016 14:48:23
Case
Hallo Christian, :-)
so wie Du im ersten Thema gewünscht hast. Entweder alle, oder nur bestimmte User können über "MSG" im Netz eine Benachrichtigung erhalten. Bis die Nachricht weggeklickt wird, oder mit einer vorgegebenen Zeit wie in meinem Beispiel. ;-)
Servus
Case

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige