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

Prüfen, ob bestimmte Word-Datei geöffnet ist!

Prüfen, ob bestimmte Word-Datei geöffnet ist!
04.06.2008 16:14:00
Florian
Hallo,
ich habe in einer Excel-Arbeitsmappe einen Hyperlink in Zelle "A1" stehen! Der Hyperlink verweist auf ein Worddokument.
Die Word-Datei wird mit dem folgenden Code (über den Hyperlink) geöffnet:
Range("A1").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Ich möchte jetzt prüfen, ob die Datei, die hinter dem Hyperlink ist, schon geöffnet ist.
Geht sowas überhaupt?
Bitte um Hilfe!
mfg
Florian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen, ob bestimmte Word-Datei geöffnet ist!
04.06.2008 22:39:00
Josef
Hallo Florian,
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Enum XL_FILESTATUS
    XL_UNDEFINED = -1
    XL_CLOSED
    XL_OPEN
    XL_DONTEXIST
End Enum

Public Function FileStatus(xlFile As String) As XL_FILESTATUS

On Error Resume Next

Dim File%: File = FreeFile

Err.Clear

Open xlFile For Binary Access Read Lock Read As #File
Close #File

Select Case Err.Number
    Case 0: FileStatus = XL_CLOSED
    Case 70: FileStatus = XL_OPEN
    Case 76: FileStatus = XL_DONTEXIST
    Case Else: FileStatus = XL_UNDEFINED
End Select

End Function

Sub test()
Dim result As XL_FILESTATUS

With Range("A1").Hyperlinks(1)
    result = FileStatus(.Address)
    
    If result = XL_CLOSED Then
        .Follow NewWindow:=False, AddHistory:=True
    ElseIf result = XL_OPEN Then
        MsgBox "Die Datei " & .Address & " ist bereits geöffnet!", vbInformation, "Hinweis"
    Else
        MsgBox "Die Datei " & .Address & " wurde nicht gefunden!", vbInformation, "Hinweis"
    End If
End With
End Sub


Gruß Sepp



Anzeige
AW: Prüfen, ob bestimmte Word-Datei geöffnet ist!
05.06.2008 08:38:00
Florian
Servus Sepp,
dass ist die perfekte Lösung! Echt Genial.
Etwas ist mir dennoch aufgefallen. Wenn ich die Word-Datei (auf die der Hpperlink verweist) verschiebe, dann müsste doch eigentlich die Meldung "Datei ... wurde nicht gefunden" erscheinen.
Bei mir erscheint keine Meldung, sondern es wird eine neue "leere" Worddatei mit gleichem Dateinamen erstellt, die 0 KB groß ist! Diese Datei muss ich dann wieder löschen, da sie ja ein fehlerhaftes Produkt ist!
Was läuft denn hier falsch?
Aber trotzdem schon vielen Dank für deine Hilfe! Bin jetz schon ein ganzes Stück weiter!
Gruss
Florian

Anzeige
AW: Prüfen, ob bestimmte Word-Datei geöffnet ist!
05.06.2008 09:55:00
Renee
Hi Florian,
Das Problem ist der Parameter Binary in Sepp's Open statement.
Dadurch wird eine Datei mit dem Namen des Hyperlinks neu angelegt, wenn sie nicht mehr existiert (oder wie in deinem Fall verschoben wurde).
Ersetze Binary durch Input, dann sollte es so funktionieren, wie du wünscht.
GreetZ Renée

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige