2010-07-13 79 views
0

因此,我在Lotus Domino數據庫中有一個視圖(對象名稱爲'視圖'),我想從中獲取列名並將它們放入數組中:VBA - 使用getColumnNames方法從蓮花筆記數據庫中獲取列名

Dim view As Domino.NotesView 
Set view = db.GetView(viewScen) 

//viewScen is a string containing the actual view's name 
//db is a string containing the actual db name 

這些聲明做工精細,但當我嘗試這些值分配給使用名爲「getColumnNames」方法的陣列,在VBA編輯告訴我,該方法是不支持該對象:

Dim someArray() As String 

//I tried both of the following with no sucess... 

someArray = view.getColumnNames 

someArray() = view.getColumnNames 

我做錯了什麼?

+0

您是否試過刪除「As String」?即讓someArray()成爲一個未定義的變體? – PowerUser 2010-07-13 21:04:56

回答

0

我認爲你可以做一個For..Each與列

dim idx as integer 
dim OneCol as Column 

redim someArray(view.Columns.Count) 

For idx = 0 to view.Columns.Count - 1 
    someArray(idx) = view.Columns(idx).name 
Next 
0

按照8.0的幫助文件中,getColumnNames方法不COM/OLE支持。但是,ColumnNames屬性是受支持的。這是幫助文件中的VB代碼:

Private Sub ViewColumnNames_Click() 
    Dim s As New NotesSession 
    s.Initialize 
    Dim dir As NotesDbDirectory 
    Dim db As NotesDatabase 
    Dim v As NotesView 
    Dim cns As String 
    Set dir = s.GetDbDirectory("") 
    Set db = dir.OpenDatabase("Web test") 
    Set v = db.GetView("Main View") 
    For Each cn In v.ColumnNames 
    cns = cns + cn + Chr(10) 
    Next 
    MsgBox cns, , "Columns in Main View" 
End Sub