Есть функция на VB в Outlook:
Public Function re() As Variant 'k As Variant) As Byte
Dim reestr(1000) As String
i = 0
Close #1
Open "C:\New\VBO\reestr.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, TextLine
If TextLine <> "" Then
reestr(i) = Trim(TextLine)
i = i + 1
End If
Loop
re = reestr(1000)
Close #1
End Function
С ней вроде проблем нет. Но она вызывается в программном коде Outlook и присваивается массиву.
Sub Item_Open()
Dim mass() 'As Variant
Set objFormTab = Item.GetInspector.ModifiedFormPages("ОКВЭД")
Set objCombo = objFormTab.Controls("ComboBox2")
Set ThisOutlookSession = CreateObject("Outlook.Application")
mass()=ThisOutLookSession.re()
for i=0 to 1000
objCombo.AddItem mass(i)'ThisOutLookSession.re()
next
Set objFormTab = Item.GetInspector.ModifiedFormPages("Поставщик")
Set objCombo111 = objFormTab.Controls("ComboBox1")
for k=1 to 100
objCombo111.AddItem ThisOutLookSession.reg(k)
next
End Sub
В присвоении и есть ошибка (индекс выходит за пределы допустимого диапазона), 6-я строка. В чем моя ошибка?
Ответить
|