ich habe eine UF mit CmdBtn1 zum Öffnen eines Dokument aus einer .dot.
Mit CmdBtn2 schliesse ich die Vorlage ohne Speichern.
Wenn nur das Dokument1 aus der Vorlage geöffnet ist, dann funktioniert alles einwandfrei.
Wenn jedoch ein weiteres Dokument egal ob aus Vorlage oder docm, docx geöffnet ist, wird das letzte Dokument geschlossen, nicht jedoch das erforderlich, nämlich das Dokument1 aus der geöffneten Vorlage.
Könnt ihr mir bitte helfen, was an u. a. Code geändert werden muss, damit nur dieses Dokument geschlossen wird.
'Word beenden
<pre>Private Sub CommandButton2_Click()
' Wichtig!!
' unter "Extras" - "Verweise" einen Verweis auf die "Microsoft Word X.0 Object-Library" setzen!
Dim strDName As String
Dim wrdApp, wrdDoc
strDName = "Test01.dotm"
wrdDoc = "C:\Users\Peter\Desktop\Word_mit_Makros_öffnen_dot\Dokumente\Test01.dotm"
'Anfang Prüfung, ob Word geöffnet
On Error Resume Next
Set wrdApp = GetObject(, "Word.Application")
If Err.Number = 429 Then ' keine Word-Instanz vorhanden
Err.Clear
On Error GoTo 0
Me.Label1.Caption = "keine Word-Instanz vorhanden!"
Else
On Error GoTo 0
If wrdApp.Documents.Count = 0 Then
wrdApp.Quit
Else
On Error Resume Next
Open wrdDoc For Binary Access Read Lock Read As 1
Close #1
If Err.Number = 70 Then
'Datei ist bereits offen
Me.Label1.Caption = "Dokument1 aus" & vbLf & wrdDoc & vbLf & " ist in Benutzung!"
If wrdApp.Documents.Count > 0 Then
' If wrdApp.Documents.Count = 1 Then
wrdDoc.Documents(strDName).Activate
wrdDoc.Documents(strDName).Close False
Me.Label1.Caption = "Dokument1 aus" & vbLf & wrdDoc & vbLf & " wurde geschlossen!"
wrdApp.Quit savechanges:=False
Application.DisplayAlerts = False
End If
Application.DisplayAlerts = True
Else
'Datei ist nicht offen
' MsgBox wrdDoc & " ist nicht in Benutzung"
Me.Label1.Caption = "Dokument1 aus" & wrdDoc & vbLf & " ist nicht in Benutzung!"
End If
On Error GoTo 0
End If
End If
'Ende Prüfung, ob Word geöffnet
'aufheben von Set
Set wrdApp = Nothing
End Sub</pre>
Besten Dank für eure Hilfe.
Gruss
Peter