我正在寫任何從任何視圖導出爲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'。我改變了我的代碼。 –