Зарегистрирован: May 20, 2009 Сообщения: 8 Рейтинг: +0/-0
Добавлено: Пн 06 Июл, 2009 11:58:43 Заголовок сообщения: Доступ к объекту ActiveX из RSview32 VBA
Задача следующая. Возможно ли из RSview32 VBA получить доступ к объекту ActiveX, который находится на дисплее (Display)?
К примеру, мне нужно хитрообразно заполнять по какому либо событию, скажем, ListView. Из макроса мне этого не сделать (или сделать?), так как там можно задать только фиксированное количество команд, которые, соответственно, добавят фиксированное количество Item-ов. А нужно, например, делать выборку этих Item-ов и заполнять ими ListView. Т.е. разными будут как сами Item-ы, так и их количество.
Привет всем!
Может, это поможет Вам с направлением:
Код:
Sub cbSostav()
' Процедура заполнения ComboBox'а на окне Состав (Sostav)
gCommand.Execute "Invoke Sostav.cbSostav.Clear()"
For i = 1 To 6
s = "Invoke Sostav.cbSostav.AddItem(""Тип " & i
s = s + """" + ", " & i - 1
s = s + ")"
gCommand.Execute s
Next i
End Sub
Sub cbSostav_OnChange()
' Процедура запускается при изменении значения ComboBox'а на окне Состав (Sostav)
' и взависимости от выбранного пункта заполяет ListBox
sName = gTagDb.GetTag("Sostav\cbSostav_Value").Value
gCommand.Execute "Invoke Sostav.lbSostav.Clear()"
gTagDb.GetTag("Sostav\CemTip").Value = ""
gTagDb.GetTag("Sostav\Iner2Tip").Value = ""
gTagDb.GetTag("Sostav\Iner4Tip").Value = ""
Select Case sName
Case "Тип 1"
Tip1
Case "Тип 2"
Tip2
Case "Тип 3"
Tip3
Case "Тип 4"
Tip4
Case "Тип 5"
Tip5
Case "Тип 6"
Tip6
End Select
End Sub
Sub lbSostav_CreateItem(sName As String, sNum As Integer)
' Создание Item'а в LisBox'е
s = "Invoke Sostav.lbSostav.AddItem(""" + sName + """" + ", " & sNum & ")"
gCommand.Execute s
End Sub
utyug, это твой код, помнишь самый первый проект в Тольятти?
Но, конечно, остается пример проекта, который идет с RSView32, там есть всякие разные примеры.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна. Открытие страницы: 0.132 секунды