Eine bestimmte offene Word-Datei finden

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Eine bestimmte offene Word-Datei finden
von: Barbara
Geschrieben am: 28.05.2015 12:16:09

Hallo
ich würde gerne in Excel-VBA feststellen, ob ein bestimmtes Word-Dokument offen ist.
Eine bestimmte offene Excel-Datei mit dem Namen in sDatei abgelegt, finde ich so:
For Each wkb In Application.Workbooks
If wkb.Name = sDatei Then Exit For
Next
Aber wie finde ich analog dazu eine bestimmte Word-Datei?
LG,
Barbara

Bild

Betrifft: AW: Eine bestimmte offene Word-Datei finden
von: Nepumuk
Geschrieben am: 28.05.2015 12:24:47
Hallo,
schau mal hier: http://www.office-loesung.de/ftopic586949_0_0_asc.php
Gruß
Nepumuk

Bild

Betrifft: Eventuell...
von: Case
Geschrieben am: 28.05.2015 13:17:38
Hallo Barbara, :-)
... auch so:
Bestimmte Datei schliessen...
Dort wird nach einer bestimmten Datei gesucht und das Programm geschlossen. Das müsstest Du natürlich noch anpassen. :-)
Servus
Case


Bild

Betrifft: AW: Eventuell...
von: Barbara
Geschrieben am: 28.05.2015 14:07:38
Danke,
habt bitte Nachsicht mit meinen geringen Kenntnissen. Aus diesen Beispielen werde ich nicht schlau.
Ich frag mal anders:
Mein xls-Makro öffnet die Word-Datei "efg.docm" und führt dann
abc = oWordDok.bookmarks(1).name
aus. Das geht.
Nun soll aber die Möglichkeit berücksichtigt werden, dass diese bereits geöffnet ist, also nicht mehr geöffnet werden soll.
Wie soll diese Abfrage nun aussehen, ob genau diese Word-Datei, die dann in weiterer Folge des Makros als Objekt zur Verfügung stehen soll (s.o.), bereits geöffnet ist?
Hoffe, nicht zu kompliziert geschrieben zu haben.
Bitte um eine konkrete Lösung.
Wie man eine offene Excel-Datei feststellt, habe ich ja bereits oben beschrieben. Jetzt geht es aber um eine Word-Datei.
Bitte um Hilfe.
LG,
Barbara

Bild

Betrifft: Ok - dann...
von: Case
Geschrieben am: 28.05.2015 14:34:26
Hallo Barbara, :-)
... so:

Option Explicit
Dim blnTMP As Boolean
Public Sub Test()
    Dim objTMP As Object
    Dim objApp As Object
    On Error GoTo Fin
    Set objApp = OffApp("Word")
    'Set objApp = OffApp("Word", False)
    If Not objApp Is Nothing Then
        On Error Resume Next
        Set objTMP = objApp.Documents("Test.doc")
        If objTMP Is Nothing Then
            MsgBox "Ist nicht geöffnet"
        Else
            MsgBox "Ist geöffnet"
        End If
        Err.Clear
        On Error GoTo Fin
    Else
        MsgBox "Applikation nicht installiert!"
    End If
Fin:
    If Not objApp Is Nothing Then
        If blnTMP = True Then
            objApp.Quit
            blnTMP = False
        End If
    End If
    Set objTMP = Nothing
    Set objApp = Nothing
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & " " & Err.Description
End Sub
Private Function OffApp(ByVal strApp As String, _
    Optional blnVisible As Boolean = True) As Object
    Dim objApp As Object
    On Error Resume Next
    Set objApp = GetObject(, strApp & ".Application")
    Select Case Err.Number
        Case 429
            Err.Clear
            Set objApp = CreateObject(strApp & ".Application")
            blnTMP = True
            If blnVisible = True Then
                On Error Resume Next
                objApp.Visible = True
                Err.Clear
            End If
    End Select
    On Error GoTo 0
    Set OffApp = objApp
    Set objApp = Nothing
End Function
Servus
Case


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Eine bestimmte offene Word-Datei finden"