2 kleine Fragen eher allgemeiner Art.
Zu 1: Ich muß einen bestimmten Fenstertitel ermitteln, der jedoch
in Teilen je nach aufrufenden User unterschiedlich sein kann.
Nachfolgende Prozedur hatte ich mal im Netz gefunden.
Daraus wollte ich eine Funktion basteln und in dem ****** Teil
nach dem bekannten Namensbestandteil suchen lassen.
Das wird sicher funktionieren, aber evtl. hat jemand eine bessere Lösung parat ?
Public
Sub GetWindowList()
Dim hWnd As Long, sTitle As String, lStyle As Long, Task_name() As String
Dim count As Integer, index As Integer, gefunden As Boolean
hWnd = FindWindowLong(ByVal 0&, ByVal 0&)
hWnd = GetWindow(hWnd, GW_HWNDFIRST)
Do
gefunden = False
lStyle = GetWindowLong(hWnd, GWL_STYLE)
lStyle = lStyle And (WS_VISIBLE Or WS_BORDER)
sTitle = GetWindowTitle(hWnd)
If (lStyle = (WS_VISIBLE Or WS_BORDER)) = True Then
If Trim(sTitle) <> "" Then
For index = 1 To count
If Task_name(index) = sTitle Then
gefunden = True
Exit For
End If
Next index
If Not gefunden Then
count = count + 1
ReDim Preserve Task_name(1 To count)
Task_name(count) = sTitle
End If
End If
End If
hWnd = GetWindow(hWnd, GW_HWNDNEXT)
Loop Until hWnd = 0
For index = 1 To count
MsgBox Task_name(index)
Next index
End Sub
Die zweite Frage bezieht sich auf die Verwendung von Resume next.
In einer Funktion zur Berechnung von Arbeitszeiten unter Berücksichtigung der Berechnung des Ostersonntages gibt es Konstellationen, die Fehler verursachen.
(Typen unverträglich) Die Funktion ist soweit durchdacht, dass diese Kombinationen von vornherein ignoriert werden. Dadurch habe ich natürlich ein paar Zeilen Code produziert.
Mein Kollege meint, einfach die "kurze" Schreibweise verwenden und die Fehler mit Resume next aushebeln, sei die gebräuchliche Variante.
Tja, ist das wirklich gebräuchlich, Fehler zu "überspringen" anstatt sie zu vermeiden ? Einfacher wäre es sicher, aber ich habe da die Befürchtung, dass u.U. ein Programmteil doch einmal nicht sauber durchläuft.
Danke für Eure Meinung
Gruß, Ingo