NotesViewEntry 与 notesviewcolum 不同的列

NotesViewEntry different columns than notesviewcolum

我正在从任何视图写入到 excel 的导出。有许多示例可用并且适用于 "normal views"。只要我有一个带有静态值的列的视图,它就会被跳过。

我有一个包含 4 列的视图,1,3 和 4 链接到文档中的字段,而第 2 列只是一个数字 2。(我试过“2”和 2)(这是一个测试视图)

C1 | V2 | C3 | C4 列

1 | 2 | 3 | 4 个值

'这将获取所有 4 列名称

ForAll n In view.Columns

        cNames(columnTotal) = n.title

        columnTotal = columnTotal + 1   

End ForAll

'结果

'cName(0) = "C1"

'cName(0) = "V2"

'cName(0) = "C3"

'cName(0) = "C4"

'这仅获取 3 列值

Set nav = view.createviewnav

Set entry = nav.Getfirst()

While Not entry Is Nothing

    ForAll c In view.Columns

        readvalue = entry.Columnvalues(columncounter-1)

    End ForAll

Wend    

'结果

'entry.columnvalues(0) = "1"

'entry.columnvalues(1) = "3"

'entry.columnvalues(2) = "4"

我无法 post 截屏,这是我的第一个 posting,但它显示 entry.columnvalues 包含 3 个值,但 parent.columns(Notesviewcolumn ()) 的条目显示 4 个列名 ...

如何读取视图中显示的所有值,包括基础文档中不存在的值?

谢谢。

文档说明 entry.ColumnValues

A column value is not returned if it is determined by:

  • A formula containing a UI-only function such as @IsExpandable or @DocNumber.
  • A constant.

根据 Dmytro Pastovenskyi 的 blog,您可以使用 ColumnValuesIndex 来识别列是常量还是包含仅 UI 函数的公式。

仅导出 ColumnValuesIndex >= 0:

的列
ForAll n In view.Columns
    If n.ColumnValuesIndex >= 0 Then
        cNames(columnTotal) = n.title
        columnTotal = columnTotal + 1   
    End If    
End ForAll