Как объединить строку в скрипте лотоса с (##) с помощью l oop? - PullRequest
0 голосов
/ 04 мая 2020

Я хочу объединить строку с несколькими значениями с полным значением l oop, вот код:

varAttachmentNames = Evaluate( "@AttachmentNames" , doc )
Forall strAttachmentName in varAttachmentNames
    Set object = doc.GetAttachment( strAttachmentName )
    fileName = object.Name
End Forall

в конце l oop, если есть несколько файлов, я хочу, чтобы их имена назывались как ab c .pdf ## xyz.pdf оба являются отдельными именами файлов ab c и xyz в fileName (строковая переменная)

1 Ответ

4 голосов
/ 04 мая 2020

Есть много возможностей, некоторые даже не нуждаются в LotusScript-L oop:

Первый: уже выполните объединение в формуле:

Dim strResult as String
varAttachmentNames = Evaluate( {@Implode( @AttachmentNames , "##")} , doc )
strResult = varAttachmentNames(0)

Второй: используйте @ Implode-аналог в LotusScript:

Dim strResult as String
varAttachmentNames = Evaluate( "@AttachmentNames" , doc )
strResult = Implode( varAttachmentNames, "##" )
' or with the (in other programming languages) more common alias "Join": 
'strResult = Join( varAttachmentNames, "##" )

Третье: используйте свой Forall-L oop:

Dim strResult as String
varAttachmentNames = Evaluate( "@AttachmentNames" , doc )
Forall strAttachmentName in varAttachmentNames
    Set object = doc.GetAttachment( strAttachmentName )
    fileName = object.Name
    If strResult = "" then
        strResult = fileName
    Else
        strResult = strResult & "##" & fileName
    End If
End Forall
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...