Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

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

Betrifft: Prüfen, ob bestimmte Word-Datei geöffnet ist! von: Florian
Geschrieben am: 04.06.2008 16:14:33

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

  

Betrifft: AW: Prüfen, ob bestimmte Word-Datei geöffnet ist! von: Josef Ehrensberger
Geschrieben am: 04.06.2008 22:39:57

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





  

Betrifft: AW: Prüfen, ob bestimmte Word-Datei geöffnet ist! von: Florian
Geschrieben am: 05.06.2008 08:38:53

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


  

Betrifft: AW: Prüfen, ob bestimmte Word-Datei geöffnet ist! von: Renee
Geschrieben am: 05.06.2008 09:55:31

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


 

Beiträge aus den Excel-Beispielen zum Thema "Prüfen, ob bestimmte Word-Datei geöffnet ist!"