NotesViewEntry与notesviewcolum不同的列

时间:2015-07-10 12:53:21

标签: lotusscript notesview

我正在从任何视图编写excel导出。有许多样本可用于“普通视图”。只要我有一个带有静态值的列的视图就会被跳过。

我有一个包含4列的视图,1,3和4链接到文档上的字段,第2列只是数字2.(我尝试过“2”和2)(这是测试视图)< / p>

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”

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

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

谢谢。

1 个答案:

答案 0 :(得分:1)

文档告诉entry.ColumnValues

  

如果由以下内容确定,则不会返回列值:

     
      
  • 包含仅限UI功能的公式,例如@IsExpandable或@DocNumber。
  •   
  • 一个常数。
  •   

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

仅导出ColumnValuesIndex&gt; = 0:

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