Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1600to1604
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
Inhaltsverzeichnis

Timeout von Set-Befehl in VBA

Timeout von Set-Befehl in VBA
17.01.2018 19:35:41
Set-Befehl
Hallo liebe Mitglieder,
ich nutze einen Set-Befehl, welcher ein Word-Dokument in Excel öffnet.
 Set WordDoc = WordApp.Documents.Open(txtFileName)
Der Kontext des Befehls ist selbsterklärend.
Problem:
Sollte das Dokument bereits von einem anderen Benutzer oder Prozess geöffnet sein, hängt das Makro am Set-Befehl fest, liefert aber keine Fehlermeldung.
Kennt jemand eine Möglichkeit, entweder
a) die Ausführung des Set-Befehls per Timeout zeitlich zu begrenzen oder
b) eine Fehlermeldung auszugeben, falls das Dokument nicht sofort zu öffnen ist?
Herzlichen Dank und viele Grüße
Max

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

Betreff
Datum
Anwender
Anzeige
AW: Timeout von Set-Befehl in VBA
17.01.2018 19:47:31
Set-Befehl
Hallo Mx,
dann prüfe vorher, ob die Datei verfügbar ist.
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

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

Private Function FileStatus(FileName As String) As XL_FILESTATUS
Dim FF As Integer

On Error Resume Next
Err.Clear

FF = FreeFile

Open FileName For Input Access Read Lock Read As #FF
Close #FF

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 txtFilename As String

txtFilename = "Deine Datei"

If FileStatus(txtFilename) = XL_CLOSED Then
  Set WordDoc = WordApp.Documents.Open(txtFilename)
  '...
End If
End Sub

Gruß Sepp

Anzeige
AW: Timeout von Set-Befehl in VBA
17.01.2018 20:41:19
Set-Befehl
Hallo Sepp,
leider scheint auch daß keine sichere Aussage mehr zu liefern. Ich prüfe z.B, ob alle
Pdf-Dateien im Ordner geschlossenn sind, bevor ich sie archiviere und in ein anderes Laufwerk/Pfad verschiebe.
Die Anwender lesen die Pdf's aber mit SumatraPDF und dieser Code liefert immer XL_CLOSED,
egal ob offen oder geschlossen.
Erst beim Verschiebeversuch merkt Windows, daß da was nicht stimmt und leht die Aktion ab.
Habe bisher aber auch nur diese Variante es Tests gefunden.
Gruß von Luschi
aus klein-Paris
Gut zu wissen! Danke! o.T.
17.01.2018 21:06:18
Sepp
Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige