2010-07-13 2 views
0

그래서 열 이름을 가져 와서 배열에 넣으려는 Lotus Domino db에서보기 (개체 이름은 '보기')가 있습니다.VBA - getColumnNames 메서드를 사용하여 Lotus Notes 데이터베이스에서 열 이름을 가져옴

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

"문자열"을 제거해 보셨습니까? 즉, someArray()가 정의되지 않은 변형이되도록 하시겠습니까? – PowerUser

답변

0

난 당신이 8.0 도움말 파일에 따르면 열

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

와 For..Each을 할 수 있다고 생각의 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 
관련 문제