1

我正在使用 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 循环或其他方式迭代编号字段?

4

2 回答 2

2

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

valueArray = notesDocument.GetItemValue( itemName$ )

但是您知道可以使用 Notes Menu 以 CSV 格式导出文档吗?

File\Exort

还有一个公式:

@Command([FileExport]; "Comma Separated Value"; "c:\document.csv")
于 2013-09-26T13:07:40.213 回答
0

Dmytro 的组合解决方案,Richard Schwartz 的澄清与我的代码块到一个工作解决方案。尝试将其作为 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
于 2013-09-27T14:10:56.787 回答