Domino 9 und frühere Versionen > Entwicklung
Array-Werte abarbeiten
(1/1)
TMC:
Hi,
ich habe folgendes Script (wesentlicher Auszug):
--- Code: ---Set doc = collection.GetFirstDocument()
While Not(doc Is Nothing)
If Not doc.FolderName(0) = "" Then
szFolder = doc.FolderName(0)
Call doc.PutInFolder( szFolder, True )
End If
Set doc = collection.GetNextDocument(doc)
Wend
--- Ende Code ---
Das String bzw. Array "szFolder" enthält eine Liste von Foldernamen,
z.B.
- Folder 1
- Folder 2
- Folder 3
Hier wird aber durch Call doc.PutInFolder( szFolder, True ) das Dok nur im 1. Folder angelegt (klar, wegen dem "szFolder = doc.FolderName(0)" ).
Wie muss ich das Script erweitern, dass nach und nach alle Array-Einträge abgearbeitet werden?
Matthias
animate:
evtl. eine ForAll (oder heißts ForEach??)-Schleife über die Werte des Felds
ForAll vaFolder in doc.GetFirstItem(ITEM_NAME).Values
hier kanns passieren, dass du vaFolders (Typ Variant) noch in einen String casten musst
End ForAll (oder wars Next??)
oder natürlich mit For..Next
koehlerbv:
szFolder würde lt. Hungarian Notation auf einen String schliessen lassen - das dürfte dann kein Array sein ;-)
Wenn Du weisst (!), dass es sich um Array handelt mit
Dim aFolders (0 to 2) as String
aFolder (0) = "Folder1"
aFolder (1) = "Folder2"
aFolder (2) = "Folder3"
dann geht folgendes am einfachsten:
For iLoop = 0 to Ubound (aFolders)
... Dein Code
Next
Durch Ubound musst Du Dich auch nicht um die Dimensionen des Array zu kümmern. Sagst Du auch noch
For iLoop = Lbound (aFolders) ...
braucht Dich Option Base nicht zu kümmern (was standardmässig o ist)
Hast Du noch keinen Plan, ob vFolders as Variant ein String oder Array ist, kannst Du vorab noch testen auf
IsScalar bzw.
IsArray
HTH,
Bernhard
Semeaphoros:
Man kann natürlich auch so wie Thomas das gesagt hat die Values in ein Variant schreiben, das kommt in jedem Fall als Array daher, und das dann mit einem Forall .... End Forall abarbeiten.
TMC:
Danke für Eure Hilfe.
ForAll zu nehmen liegt ja hier wirklich auf der Hand, habe es damit gemacht.
Grüße,
Matthias
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln