スクリプト コントロールを使用して関数を呼び出すには、方法

文書翻訳 文書翻訳
文書番号: 184740 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

サンプル コードを示しています、スクリプト コントロールを掲載していますVisual Basic からスクリプト関数を呼び出す各種のメソッド。

詳細

重要: Microsoft プログラミング例としてを提供するだけ、表されるまたは暗黙の保証も含めが、これらに限定されません。市場性および適合性の黙示の保証、特定の目的。この記事に精通していることを前提とします。使用している言語の作成に使用するツールをプログラミングし、プロシージャをデバッグします。

VBScript、JavaScript、およびその他の準拠スクリプト コントロールをホストすることができます。スクリプト言語は、ユーザー アプリケーションのようなスクリプトを作成できますのでVBScript または JavaScript を使用して機能を追加する方法Web ページを。

次の資料で、マイクロソフト サポート技術情報について説明する方法スクリプト コントロールを取得します。
184739: 情報: スクリプトのコントロールを取得する場所

スクリプト コントロールのサブは、関数を呼び出す、4 つのメソッドが用意されていますスクリプト関連のルーチン:
  • Eval: テキスト式を評価します。
  • 実行: 名前付き Sub、または関数を実行します。
  • Execute: スクリプト ステートメントを実行します。
  • Module オブジェクトのメソッドとしては。

評価

呼び出し規約を示します。
  Result = ScriptControl.Eval("some text expression")

				
この方法を使用できます両方の組み込みのスクリプト関数を呼び出すことも、ユーザーの機能です。関数の引数がリテラル値として渡される、式のテキストとハード コーディングされたまたは連結されたからです、変数です。

注: サブルーチンをコールするのにはこのメソッドを使用することはできません。

Exchange Server 2010 SP1 をインストールした後 Outlook クライアント アプリケーションがパブリック フォルダーに接続できない

呼び出し規約を示します。
  Result = ScriptControl.Run("Name", arg1, arg2, ... argn)

				
結果の場合にサブルーチンを呼び出すにこのメソッドを使用することができます。返されるがないし、別の呼び出し規約を使用することができます戻り値の結果を無視します。
  ScriptControl.Run "Name", arg1, arg2, ... argn

				
名の名前です、Sub または関数、および arg1... の argn です。Sub または関数の問題によってはオプションです。

Execute

呼び出し規約を示します。
  ScriptControl.Execute "statement text"

				
このメソッド固有のステートメントを呼び出すまたはルーチンのサブすることができます。はまた、関数を呼び出すことができますが、返される結果が破棄されます。

Module Method

呼び出し規約を示します。
   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)。複数行プロパティを設定します。テキスト ボックスは 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. コマンド ボタンをクリックします。

    注: 次の 2 つのステートメントを出力ために生成しない、関数の戻り値は失われ、コードの結果は出力されません。などの方法では、グローバル変数またはメッセージ ボックス。
          .Run "AddTwo", 4, 6
          .ExecuteStatement "AddTwo 9,18"
    
    						

関連情報

スクリプト コントロールを取得する方法の詳細についてを参照してください、次の資料で、マイクロソフト サポート技術情報:
184739: 情報: スクリプトのコントロールを取得する場所

(c) Microsoft Corporation 1998 年すべての権利予約します。
Malcolm スチュアート、マイクロソフト コーポレーションによって出資金

プロパティ

文書番号: 184740 - 最終更新日: 2013年7月8日 - リビジョン: 9.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 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:184740
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

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