Microsoft Excel

Herbers Excel/VBA-Archiv

Anzeigen, wenn eine andere Excel-Datei geöffnet is

Betrifft: Anzeigen, wenn eine andere Excel-Datei geöffnet is von: Schmitty
Geschrieben am: 15.09.2014 09:05:04

Guten morgen zusammen,

kann ich (vielleicht Mittels VBA) eine Anzeige "basteln" die in meiner geöffneten Excel-Datei anzeigt (z. B. durch das Einfärben einer Zelle in rot), ob eine auf dem Server liegende andere Excel-Datei von Irgendeinem User gerade geöffnet ist?

Gruß
Christian

  

Betrifft: AW: Anzeigen, wenn eine andere Excel-Datei geöffnet is von: Luschi
Geschrieben am: 15.09.2014 09:42:54

man, man, man... Christian,

diese Vorstellungen beängstigen mich. Du willst wohl schüffeln - z.B. wer versucht die Excel-Datei mit den neuesten Gehaltsdaten zu öffen - hast Du schon mal mit der Gewerkschaft/sonstigen Tarifparteien Kontakt aufgenommen?

fragt sich Luschi
aus klein-Paris

PS: wenn Alles legal ist, hat der Admin verschiedenste Möglichkeiten, Dich zu informieren!


  

Betrifft: AW: Anzeigen, wenn eine andere Excel-Datei geöffnet is von: Schmitty
Geschrieben am: 15.09.2014 13:06:57

Hallo Luschi,

es ist legal und ICH bin der Admin!!!

Ich baue mit Hilfe verschiedener Leute hier im Forum eine Kundendatenbank auf mit einer Kundendatei auf dem Server und einer lokalen Abfragedatei auf dem Computer.

Und ich möchte NUR, dass man in der Abfragedatei sehen kann, wenn jemand Stammdaten in der Kundendatei ändert (da die nicht freigegeben ist, kann man sie nur einmal öffnen!!!)

Gruß
Christian


  

Betrifft: AW: Anzeigen, wenn eine andere Excel-Datei ge von: Klaus M.vdT.
Geschrieben am: 15.09.2014 10:24:36

Hi Schmitty,

deine zu prüfenden Dateien stehen - inklusive Pfad und Endung - in Spalte A.
Eine Fehlerbehandlung habe ich nicht eingebaut. Der eigentlich interessante Codeteil ist geklaut (Referenz im Makro), von mir stammt nur die Schleife.
Einfärben kannst du per Boardmittel (bedingte Formatierung). Das Makro musst du allerdings manuell anstoßen. Kannst du ja, je nach Bedarf, mit Worksheet.Activate oder so machen.

Sub CheckAllFilesOpen()
Const firstRow As Long = 2 'Ab Zeile 2 (Überschriften)
Const datCol As Long = 1   'Dateien + Pfad stehen in Spalte A
Const putCol As Long = 2   'Info in Spalte B schreiben
Dim lastRow As Long
Dim r As Range
Dim infoText As String

infoText = "Datei geöffnet: "

With ActiveSheet
    lastRow = .Cells(.Rows.Count, datCol).End(xlUp).Row
    For Each r In .Range(.Cells(firstRow, datCol), .Cells(lastRow, datCol))
        .Cells(r.Row, putCol).Value = infoText & IsFileOpen(r.Value)
    Next r
End With

End Sub


Function IsFileOpen(strFullPathFileName As String) As Boolean
   '// VBA version to check if File is Open
   '// We can use this for ANY FILE not just Excel!
   '// Ivan F Moala
'// http://www.xcelfiles.com

   
   Dim hdlFile As Long
   '// Error is generated if you try
   '// opening a File for ReadWrite lock >> MUST BE OPEN!
 On Error GoTo FileIsOpen:
   hdlFile = FreeFile
   Open strFullPathFileName For Random Access Read Write Lock Read Write As hdlFile
   IsFileOpen = False
   Close hdlFile
   Exit Function
FileIsOpen:
   '// Someone has it open!
   IsFileOpen = True
   Close hdlFile
 End Function
Grüße,
Klaus M.vdT.


 

Beiträge aus den Excel-Beispielen zum Thema "Anzeigen, wenn eine andere Excel-Datei geöffnet is"