Hallo,
ich möchte gerne meinen Anwendern mit LS eine Auswahlbox präsentieren. Nach Auswahl eines Wertes soll der dazu passende Alias genommen und weitergearbeitet werden.
Ich habe dafür zwar eine Lösung. Aber die kommt mir reichlich kompliziert vor. Deshalb hoffe ich auf Verbesserungsvorschläge von Euch.
Meine Lösung bisher:
| Sub Click(Source As Button) |
| |
| On Error Goto ERRORHANDLER |
| |
| Dim se As New NotesSession |
| Dim db As NotesDatabase |
| Dim doc As NotesDocument |
| Dim ws As New NotesUIWorkspace |
| Dim response As Variant |
| Dim resview As String |
| Dim values(3) As Variant |
| Dim rvalues(3) As String |
| Dim i As Integer '----- Schleifenzähler |
| Dim max As Integer ' |
| |
| '----- Ansichten vorbelegen |
| values(0) = "Maileingang" |
| values(1) = "Mailausgang" |
| values(2) = "Alle Dokumente" |
| values(3) = "Diskussionsbeiträge" |
| ' |
| rvalues(0) = "$Inbox" |
| rvalues(1) = "$Sent" |
| rvalues(2) = "$All" |
| rvalues(3) = "Mail Threads" |
| resview = "" |
| |
| i = 0 |
| max = 3 |
| |
| Set db=se.CurrentDatabase |
| '----- Ansicht oder Ordner auswählen, aus dem importiert wird |
| response = ws.Prompt (PROMPT_OKCANCELLIST, _ |
| "Ansicht / Ordner wählen", _ |
| "Bitte wählen Sie eine Ansicht oder einen Ordner aus.", _ |
| values(0), values) |
| If Isempty (response) Then |
| ' |
| Messagebox "Die Aktion wurde vom Benutzer abgebrochen", , "Abbruch erfolgt" |
| Else |
| '----- Alias für die Auswahl holen |
| For i = 0 To max |
| If response = values(i) Then |
| resview = rvalues(i) |
| i = max |
| End If |
| Next |
| Messagebox resview, 64, "gewählte Ansicht" |
| End If |
| |
| EXITSCRIPT: |
| Exit Sub |
| |
| ERRORHANDLER: |
| Call ErrorMessage("shared Action: Mail importieren") |
| Resume EXITSCRIPT |
| End Sub |
Mein erster Versuch war, die Werte bei values in der Form
values(0) = "Maileingang|$Inbox"
zu definieren. Dabei wird mir dann aber der komplette String auch in meiner Auswahlbox angezeigt. Das will ich aber nicht.
Wie kann ich es besser (variabler) machen?
Viele Grüße
Andreas