2016-03-23 21 views
0

LotusNotes uygulamasından bazı veriler alan bir VBA makrosu kullanıyorum. Çoğu işe yarıyor, ancak bir Öğedeki öğelerin sayısını almaktan alamıyorum. ÖrneğinVN aracılığıyla LotusNote Öğesi Sayısı

:

Dim DomSession As Object 
Dim DomDir As NotesDatabase 
Dim DomContacts As NotesView 
Dim DomDoc As NotesDocument 

While Not (DomDoc Is Nothing) 
GetItemValue("name of item")(0) 
Set DomDoc = DomContacts.GetNextDocument(DomDoc) 
Wend 

GetItemValue ("öğesinin adı") (0) Beni Item ilk veya tek değer alır. Bununla birlikte, bir Öğede daha fazla eleman varsa, bu gerçekleşirse, kaç tane olduğunu bilmiyorum. Endeksler (i) ile döngü yapmak, liste sınırlar dışına çıkana kadar VBA'da bir çalışma zamanı hatasıyla sonuçlanır.

LotusScript'te, istediğimi yapması gereken @Count var, ancak bu VBA ile çalışmaz. Baska öneri?

+0

Karanlıkta bir atış:

olarak basitçe ubound kullanarak aracılığıyla değişken ve çevrim sonucu atamak Açıklamalarda belirttiği. Lotusscript ile çalışmam uzun zaman oldu. Bu gibi bir şey deneyin: MyAr = doc.GetItemValue ("öğenin adı") 've sonra 'Ubound (MyAr)' itmesin sayısını almak için? –

+0

Teşekkürler! Bu hile yapmak gibi görünüyor. – Ocmer

+0

Aslında, Ubound (MyAr) +1, çünkü dizi elemanı 1, dizin 0'da. –

cevap

2

GetitemValue, bir öğedeki tüm değerlere sahip bir dizi döndürür.

Dim DomSession As Object 
Dim DomDir As NotesDatabase 
Dim DomContacts As NotesView 
Dim DomDoc As NotesDocument 
Dim varValues 

While Not (DomDoc Is Nothing) 
    varValues = DomDoc.GetItemValue("name of item") 
    max = ubound(varValues) 
    For i = 0 to max 
     yourValue = varValues(i) 
     '- do whatever you want with values 
    Next 
    Set DomDoc = DomContacts.GetNextDocument(DomDoc) 
Wend 
+0

Çözüm için teşekkürler. – Ocmer