В данной статье демонстрируется использование модулей и процедуры свойств
Сегмент кода элемента управления сценариев (Майкрософт). Он также демонстрирует, как
можно динамически определять количество аргументов и ли
процедура является Function или Sub.
Элемент управления сценария Microsoft включает возможности, позволяющие основному
приложения для сегмента сценарии в различных модулях. Модуль по умолчанию
«Глобальный» присутствует всегда. Разные модули могут содержать процедуры
то же имя (то есть, имен процедур имеют области модуля).
Элемент управления сценария Microsoft также включает процедуру свойства, позволяющие
ведущее приложение динамически определить, является ли процедура
Он ожидает Function или Sub, а также число аргументов. Это
позволяет ведущему приложению запрашивать у пользователя правильный номер
значения параметров.
Свойство Modules управления сценарием является объектом, содержащим
Коллекция объектов модуля. Он имеет следующие свойства и методы:
- Количество: Количество модулей.
- Item(x): Возвращает объект модуля.
- Добавьте имя: Добавляет новый модуль с заданным именем.
Модуль объекта имеет следующие свойства и методы:
- Имя: Имя модуля.
- Процедуры: Процедур объект.
- Код AddCode: добавляет код в модуль.
- Имя выполнения, аргументы: запускает процедуру с именем.
Объект процедуры содержит коллекцию объектов процедуры. Он имеет
следующие свойства и методы:
- Количество: Количество процедур в модуле.
- Item(x): Возвращает объект процедуры.
Объект процедура имеет следующие свойства и методы:
- Имя: Имя процедуры.
- HasReturnValue: Указывает, является ли процедура Sub или Function.
- NumArgs: Количество аргументов, требует процедуры.
Примечание: Не все свойства и методы объектов в списке не задан, только что
соответствующими данной статьи.
В следующем примере приводится интерактивных программ, иллюстрирующее, как
Чтобы использовать эти свойства и методы:
ВНИМАНИЕ: Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации
без гарантии или подразумеваемых включая, но не ограничиваясь
Чтобы подразумеваемые гарантии товарности или пригодности для
в определенных целях. В данной статье предполагается, что вы знакомы с
Программирование рассчитаны язык и средства, используемые для создания и
Отладка процедур.
Пример
- В Visual Basic создайте новый проект (по умолчанию создается форма Form1).
- В меню Проект выберите команду компоненты, а затем выберите «Microsoft
Сценарий управления 1.0 "флажок.
- Добавьте элемент управления сценария (ScriptControl1), текстовое поле (Текст1), 3
команды кнопки (Command1, команда2, Command3) и два списка.
(List1 файла List2.txt) в форму Form1. Задайте для свойства многострочного текстового поля, чтобы
ЗНАЧЕНИЕ TRUE. Измените размер текстового поля, чтобы вместить 5 строк из 30 символов.
- Добавьте следующий код в форму Form1:
Private Sub Command1_Click()
ScriptControl1.Modules.Add Text1.Text
Form_Activate
End Sub
Private Sub Command2_Click()
ScriptControl1.Modules(List1).AddCode Text1.Text
List1_Click
End Sub
Private Sub Command3_Click()
Dim RetVal As Variant, m As Variant
Set m = ScriptControl1.Modules(List1.Text)
With m.Procedures(List2.Text)
Select Case .NumArgs
Case 0
RetVal = m.Run(List2.Text)
Case 1
RetVal = m.Run(List2.Text, 5)
Case 2
RetVal = m.Run(List2.Text, 4, 23)
Case Else
MsgBox "Procedure has too many arguments"
End Select
If .HasReturnValue Then
MsgBox List2.Text & " returned: " & RetVal
End If
End With
End Sub
Private Sub Form_Activate()
Dim m As Variant
List1.Clear
With SCriptControl1
.Language = "VBScript"
.AllowUI = True
For Each m In .Modules
List1.AddItem m.Name
Next m
End With
End Sub
Private Sub Form_Load()
Command1.Caption = "Add Module"
Command2.Caption = "Add Code"
Command3.Caption = "Run Procedure"
End Sub
Private Sub List1_Click()
Dim m As String, p As Variant
m = List1
List2.Clear
If m = "" Then Exit Sub
For Each p In ScriptControl1.Modules(m).Procedures
List2.AddItem p.Name
Next p
End Sub
Private Sub List2_Click()
Dim m As String, p As String, r As Boolean, a As Long
m = List1
p = List2
With ScriptControl1.Modules(m).Procedures(p)
r = .HasReturnValue
a = .NumArgs
End With
MsgBox m & "." & p & " has " & IIf(r, "a", "no") & _
" return value and " & a & " arguments"
End Sub
- Запустите форму Form1.
- Создайте новый модуль, введя следующее в текстовом поле и нажать кнопку
Добавьте модуль:
- В текстовом поле введите следующий сценарий:
Function Calc(X)
Calc = X * 2
End Function
- Выберите Global List1 и нажмите кнопку Добавить код для добавления глобального
модуль.
- В текстовом поле введите следующий сценарий:
Function Calc(X, Y)
Calc = X * Y
End Function
Sub Test()
MsgBox "The Test Sub in Module Mod2"
End Sub
- Выберите Mod2 в List1 и нажмите кнопку Добавить код для добавления глобального
модуль.
- Щелкните на различные модули и процедур. При выборе
процедуры появится сообщение, указывающее ли процедура имеет
Возвращает значение, а также число аргументов, он принимает.
- После выбора процедуры нажмите кнопку запустить процедуру для его запуска. Код
Определяет число аргументов, и вы увидите различные
окна сообщений с результатами.
ПРИМЕЧАНИЕ:
- Имя глобального модуля могут не всегда быть «Global» в зависимости от элемента управления
версия или локализации. Используйте константу GlobalName вместо жесткого-
кодирование слово «Global».
- Отсутствует метод для удаления отдельных модулей или процедуры. У вас есть
для использования.Метод Clear элемента управления сценария, чтобы стереть весь код. Вы
можно переписать процедуру с использованием.Метод AddCode с помощью процедуры
с таким же именем.
За сведениями о получении элемент управления сценария см
следующие статьи базы знаний Майкрософт:
184739
(http://support.microsoft.com/kb/184739/EN-US/
)
: INFO: где найти элемент управления сценария
Дополнительные сведения и примеры на вызов процедур в Global
модуль, обратитесь к следующей статье Microsoft Knowledge Base:
184740
(http://support.microsoft.com/kb/184740/EN-US/
)
: Как вызвать функции, используя элемент управления сценария
Элемент управления сценария Microsoft разделов справки:
HasReturnValue Property
NumArgs Property
AddCode Method
Run Method
Modules Collection
Procedures Collection
Код статьи: 184745 - Последнее изменение :: 4 июня 2011 г. - Редакция: 4.0
Информация в данной статье относится к следующим продуктам.
- Microsoft Visual Basic 5.0 Learning Edition
- Microsoft Visual Basic 5.0 Professional Edition
- Microsoft Visual Basic 6.0 Professional Edition
- Microsoft Visual Basic 5.0 Enterprise Edition
- Microsoft Visual Basic 4.0 Standard Edition
| kbhowto kbscript kbmt KB184745 KbMtru |
Переведено с помощью машинного переводаВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:
184745
(http://support.microsoft.com/kb/184745/en-us/
)