我正在写任何从任何视图导出为excel。有许多样本可用,并且在“正常视图”下工作。只要我有一个具有静态值的列的视图,它就会被跳过。 (我试过“2”和2)(这是一个测试视图)我有一个4列的视图,1,3和4链接到文档上的字段,第2列只有数字2。NotesViewEntry与notesviewcolum不同的列
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 VAL但是该条目的parent.columns(Notesviewcolumn())显示4个列名...
如何读取视图中显示的所有值,包括基础文档中不存在的值?
谢谢。
谢谢你的快速反应。我看了Dmytro Pastovenskyi的博客,这非常有用,但我做了一个小改动。在我的情况下,它也跳过了第一列,这只是一个字段值,没有公式,并且没有隐藏,但返回了索引0.我的代码构建了列名列表1st,看起来像这样,我得到了我想要的结果现在,将对其他观点进行更多测试并提供反馈。 ForAll n In view.Columns If Not(n.ColumnValuesIndex = -1)然后cNames(columnTotal)= n.title columnTotal = columnTotal + 1 End If End ForAll – Johan
你是对的:0是一个真实列的有效值,所以'> 0'必须是'> = 0'。我改变了我的代码。 –