AW: MsgBox vbYesNo - Ergebnis 4
03.08.2007 18:11:44
ingUR
Hallo, @c0bRa,
vielleicht kann dieses Grundgerüst Dir bis zum Finden einer geeigenten DLL-Function ersatzweise die Aufgabe lösen, wobei die Pflegemöglichkeit des Datensatzes (eventuell in Tabellenbaltt) und der Suchmechanismus natürlich zu verbessern sind.
Option Explicit
Type udtRefList
Name As String
id As Long
Segm As String
End Type
Dim RefList(20) As udtRefList, maxRefListItems As Long
Private Sub initRefList()
Dim i As Integer
'MsgBoxStyles
maxRefListItems = 20
RefList(1).Name = "vbAbortRetryIgnore": RefList(1).id = vbAbortRetryIgnore
RefList(2).Name = "vbApplicationModal": RefList(2).id = vbApplicationModal
RefList(3).Name = "vbCritical": RefList(3).id = vbCritical
RefList(4).Name = "vbDefaultButton1": RefList(4).id = vbDefaultButton1
RefList(5).Name = "vbDefaultButton2": RefList(5).id = vbDefaultButton2
RefList(6).Name = "vbDefaultButton3": RefList(6).id = vbDefaultButton3
RefList(7).Name = "vbDefaultButton4": RefList(7).id = vbDefaultButton4
RefList(8).Name = "vbExclamation": RefList(8).id = vbExclamation
RefList(9).Name = "vbInformation": RefList(9).id = vbInformation
RefList(10).Name = "vbMsgBoxHelpButton": RefList(10).id = vbMsgBoxHelpButton
RefList(11).Name = "vbMsgBoxRight": RefList(11).id = vbMsgBoxRight
RefList(12).Name = "vbMsgBoxRtlReading": RefList(12).id = vbMsgBoxRtlReading
RefList(13).Name = "vbMsgBoxSetForeground": RefList(13).id = vbMsgBoxSetForeground
RefList(14).Name = "vbOKCancel": RefList(14).id = vbOKCancel
RefList(15).Name = "vbOKOnly": RefList(15).id = vbOKOnly
RefList(16).Name = "vbQuestion": RefList(16).id = vbQuestion
RefList(17).Name = "vbRetryCancel": RefList(17).id = vbRetryCancel
RefList(18).Name = "vbSystemModal": RefList(18).id = vbSystemModal
RefList(19).Name = "vbYesNo": RefList(19).id = vbYesNo
RefList(20).Name = "vbYesNoCancel": RefList(20).id = vbYesNoCancel
For i = 1 To maxRefListItems
RefList(i).Segm = "MsgBox"
Next i
End Sub
Sub test()
Dim s As String
If maxRefListItems 0 Or i = maxRefListItems
If ifound = 0 Then
SearchInRefList = 1E+32
Else
SearchInRefList = RefList(i).id
End If
End Function
Auf jeden Fall kommt hier: MsgBox s & " := " & SearchInRefList(s) eine 4 heraus ;).
Da ich nicht genau verstanden habe, ob nun nur eine Abfragerichtung oder beide Abfragerichtungen von Interesse sind, habe ich der Type-Definition von RefList noch ein Segment-Eintrag zugefügt, so dass auch nach via Kennzalen nach dem Bedeutungsstring gesucht werden könnte.
Also, vielleicht ist Deine Idee ja doch nioch nicht gestorben und es bedarf eben nur noch Zeit, bis dieser Forschlg durch eine bessere Funktion ausgetauscht.
Viel Erfolg bei der Nachforschung,
Uwe