LotusScript:如何使用for循环迭代编号字段

时间:2013-09-26 12:46:30

标签: for-loop lotusscript

我正在使用LotusScript清除表单中的值并将其导出到csv文件。在表单中有多个日期字段,其名称如enddate_1,enddate_2,enddate_3等。 空白时这些日期字段为Data Type: Text,填充时为Data Type: Time/Date

要在csv中将值作为字符串获取且没有错误,我执行了以下操作:

If Isdate(doc.enddate_1) Then 
    enddate_1 = Format(doc.enddate_1,"dd-mm-yyyy") 
Else
    enddate_1 = doc.enddate_1(0)
End If

但为每个日期字段做这样的代码块感觉不对。

尝试以下方法,但这不起作用。

For i% = 1 To 9
    If Isdate(doc.enddate_i%) Then 
        enddate_i% = Format(doc.enddate_i%,"dd-mm-yyyy") 
    Else
        enddate_i% = doc.enddate_i%(0)
    End If
Next

有关如何使用for循环或其他方式迭代编号字段的任何建议吗?

2 个答案:

答案 0 :(得分:2)

使用for循环或其他方式迭代编号字段?

valueArray = notesDocument.GetItemValue( itemName$ )

但是,您是否知道可以使用Notes菜单以CSV格式导出文档?

File\Exort

还有一个公式:

@Command([FileExport]; "Comma Separated Value"; "c:\document.csv")

答案 1 :(得分:0)

Dmytro的综合解决方案,澄清理查德施瓦茨与我的代码块到一个有效的解决方案。尝试将其作为Dmytro解决方案的编辑,但遭到拒绝。

我的问题不仅是迭代编号字段,还以迭代方式存储值以便以后轻松检索它们。我今天发现,试图实施Dmytro的解决方案以及Richard Schwartz的澄清。使用List完全解决它。

现在我的工作解决方案是:

Dim enddate$ List
For i% = 1 To 9
    itemName$ = "enddate_" + CStr(i%)
    If Isdate(doc.GetItemValue(itemName$)) Then 
        enddate$(i%) = Format(doc.GetItemValue(itemName$),"dd-mm-yyyy") 
    Else
        enddate$(i%) = doc.GetItemValue(itemName$)(0)
    End If
Next