Domino 9 und frühere Versionen > ND7: Entwicklung
Lotus Notes Script
kruemelmaus:
Hallo,
ich bin gerade neu hier.
Habe auch somit meine erste Frage an die vielen Experten. :D
Es wurde eine Datenbank erstellt, mit der eine Emailsignatur erzeugt werden kann.
Nun zu meinem Problem:
In der Notesform gibt es ein Feld fb_funk1 welches mit Hilfe eines dblookup Daten aus einem Konfigurationsdokument ausliest.
Hier ist dann eine Mehrfachauswahl möglich.
Mit Hilfe des unten stehenden Skriptteils wird das ganze in eine HTML Datei geschrieben.
Das Problem ist nun, sobald mehrere Werte ausgewählt wurden erscheinen diese zwar in der Notesansicht, aber im Exportfile
steht immer nur der erste Wert drin.
Wer kann mir helfen???
'Jobtitle 1
If Not Len( uidoc.document.fb_funk1(0)) < 1Then
Print #sig_file, uidoc.document.fb_funk1(0)
Else
End If
Gruß
Oliver
BigWim:
Hallo Oliver,
das Item in NotesDocument ist immer ein Array mit mindestens einem Eintrag. Das Array erhält Du mit
--- Code: ---tmpVariant = uidoc.document.fb_funk1
--- Ende Code ---
wenn sicher ist, dass nur Wert vorhanden sein kann, greift man in der Regel direkt zu mit
--- Code: ---tmpString = uidoc.document.fb_funk1(0)
--- Ende Code ---
Wenn Du also alle Werte eines Item ausgeben möchtest, mußt Du Dir eine Schleife basteln, z. B. so
--- Code: --- If Not Len( uidoc.document.fb_funk1(0)) < 1Then
forall tmpString in uidoc.document.fb_funk1
Print #sig_file, tmpString
next
endif
--- Ende Code ---
Viel Erfolg
Markus
flaite:
Ist weil du das erste Element im Array schon in deinem Code referenziert.
Ich hab das hinter einen Button getan. Falls du es im QuerySave o.ä. hast, kannst du das mit dem uiws weglassen.
Vorschlag:
--- Code: ---Sub Click(Source As Button)
On Error Goto Felher
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim i As Integer
Dim first As Integer
Dim arrStrFb_Funk1 As Variant
Dim strValue As String
Const separator = ","
Set uidoc = uiws.CurrentDocument
Set doc = uidoc.Document
arrStrFb_Funk1 = doc.GetItemValue("fb_Funk1") ' doc.fbFunkt1 -> ohne (0) geht auch. Das ist aber besser, weil parametrisierbar
For i = 0 To Ubound (arrStrFb_Funk1)
strValue = Trim$(arrStrFb_Funk1(i)) ' trim entfernt leerzeichen vorne wie hinten. Macht oft Sinn. Kommt aber auf dein Prog drauf an.
If Len(Trim$(strValue)) > 0 Then
If first Then
strValue = separator + strValue
first = False
End If
Msgbox strValue ' erstmal gucken.
'Print #sig_file, strValue ' WENN OK, DANN AUSKOMMENTIEREN
End If
Next
wech:
Exit Sub
felher:
Msgbox Error$ & Cstr(Err) & " in Zeile: " & Cstr(Erl)
Goto wech
End Sub
--- Ende Code ---
kruemelmaus:
Hallo Markus,
vielen Dank erstmal. Leider habe ich scheinbar immer noch ein kleines Problem.
1. wo packe ich den Code tmpString = uidoc.document.fb_funk1(0)
hin???
2. If Not Len( uidoc.document.fb_funk1(0)) < 1Then
forall tmpString in uidoc.document.fb_funk1
Print #sig_file, tmpString
next
endif
bekomme ich hier bei immer eine Fehlermeldung: unexpected next
Fehlt hier nicht auch noch das else in der formel.
Sorry bin leider nur ein Anfäger, der sich gerade versucht einzuarbeiten
Gruß Oliver
DerAndre:
Mach mal aus dem
Next
ein
End Forall
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln