Вызов функции, используя элемент управления сценария

Переводы статьи Переводы статьи
Код статьи: 184740 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Эта статья содержит примеры кода для управления сценария, который демонстрирует различные методы вызова функции сценария с помощью Visual Basic.

Дополнительная информация

ВНИМАНИЕ: Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации без гарантии или подразумеваемых включая, но не ограничиваясь Чтобы подразумеваемые гарантии товарности или пригодности для в определенных целях. В данной статье предполагается, что вы знакомы с Программирование рассчитаны язык и средства, используемые для создания и Отладка процедур.

Можно разместить элемент управления сценария VBScript, JavaScript и любых других совместимых язык сценариев, так что пользователям можно создать сценарий для приложения в подобных так, чтобы с помощью JavaScript или VBScript для обеспечения дополнительных функциональных возможностей для веб-страниц.

Следующие статьи базы знаний Майкрософт описывается как Получите элемент управления сценария:
184739: INFO: где найти элемент управления сценария

Элемент управления сценария предоставляет четыре метода для вызова метода Sub и Function сценарий процедур:
  • Eval: Оценивает выражение текста.
  • Запуск: Запускает именованный Sub или Function.
  • Выполнение: Выполняет инструкцию сценария.
  • Как метод объекта модуля.

Eval

Это соглашение о вызовах.
  Result = ScriptControl.Eval("some text expression")

				
Этот метод можно использовать для вызова функций обоих встроенных сценариев, а также функции пользователей. Аргументы функции передаются как литеральные значения в текст выражения могут быть жестко или объединенные с переменная.

Примечание: Этот метод не может использоваться вызов подпрограммы.

Запустить

Это соглашение о вызовах.
  Result = ScriptControl.Run("Name", arg1, arg2, ... argn)

				
Можно использовать этот метод для вызова подпрограммы, в этом случае результат Возвращаемый пуст и вы можете использовать альтернативное соглашение о вызове для Игнорирование возвращаемого результата:
  ScriptControl.Run "Name", arg1, arg2, ... argn

				
Примечание: Имя является именем Sub или Function и arg1... — argn Дополнительные зависимости Sub или Function в вопросе.

Выполнение

Это соглашение о вызовах.
  ScriptControl.Execute "statement text"

				
Этот метод можно вызывать все внутренние инструкции или процедуры Sub. Вы Можно также использовать для вызова функций, но результатом будет удалена.

Метод модуля

Это соглашение о вызовах.
   Result = ScriptControl.Modules(modulename).functionname(arg1, arg2, ...)
   ScriptControl.Modules(modulename).subname arg1, arg2, ...
				

Модуль по умолчанию задается в константу GlobalModule, например:
   Result = ScriptControl.Modules(GlobalModule).MyFunction(5)
   ScriptControl.Modules(GlobalModule).MySub 5, "A"
				

Дополнительные сведения о модулях ScriptControl пожалуйста обратитесь к документации в статье базы знаний Майкрософт:
184745: Способы использования Скриптовые модули управления и процедур коллекций

Пример

  1. В Visual Basic создайте новый проект. По умолчанию создается форма Form1.
  2. В меню Проект выберите команду компоненты, а затем выберите «Microsoft Сценарий управления 1.0 "флажок.
  3. Добавьте элемент управления сценария (ScriptControl1), текстовое поле (Текст1) и Кнопка (Command1) для формы. Свойство MultiLine текстовое поле значение true.
  4. Добавьте следующий код в форму Form1:
          Private Sub Command1_Click()
            With ScriptControl1
              ' Set script language (VBScript is the default).
              .Language = "VBScript"
              ' Set UI interaction (TRUE is the default).
              .AllowUI = True
              ' Copy the script to the control.
              .AddCode Text1.Text
              ' Demonstrate the Eval method.
              Debug.Print .Eval("AddTwo(5,7)")
              ' Demonstrate the Run method both with and without return values.
              .Run "Hello", "Jane Doe"
              Debug.Print .Run("Hello", "James Smith")
              .Run "AddTwo", 4, 6
              Debug.Print .Run("AddTwo", 7, 8)
              ' Demonstrate the ExecuteStatement method.
              .ExecuteStatement "Hello ""Sue Smith"""
              .ExecuteStatement "AddTwo 9,18"
              .ExecuteStatement "MsgBox CStr(AddTwo(3,8))"
              .Modules(GlobalModule).Hello "Jane Doe"
              Dim oMod As Object
              Set oMod = .Modules(GlobalModule)
              Debug.Print oMod.AddTwo 12, 24
              Set oMod = Nothing
            End With
          End Sub
    
    						
  5. Запустите форму Form1 и откройте окно отладки.
  6. В текстовом поле введите следующий сценарий:
          Sub Hello(YourName)
            MsgBox "Hello " & YourName
          End Sub
    
          Function AddTwo(X1, X2)
            AddTwo = X1 + X2
          End Function
    
    						
  7. Нажмите CommandButton.

    Примечание: Следующие две инструкции не вызывают выход поскольку возвращаемое функцией теряется и не выводит результат через код любыми другими методами, например глобальной переменной» или «сообщение»:
          .Run "AddTwo", 4, 6
          .ExecuteStatement "AddTwo 9,18"
    
    						

Ссылки

За сведениями о получении элемент управления сценария см следующие статьи базы знаний Майкрософт:
184739: INFO: где найти элемент управления сценария

(c) Корпорация Майкрософт 1998 г. все права защищены.
Взносы, Алексей Стюард, корпорация Майкрософт

Свойства

Код статьи: 184740 - Последний отзыв: 4 июня 2011 г. - Revision: 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 kbmt KB184740 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:184740

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com