次の方法で共有


<component> 要素

Windows スクリプト コンポーネントの定義全体を囲みます。

<component id=componentid>
   ここにスクリプト コンポーネントの情報を記述します。
</component>

  • componentid
    スクリプト コンポーネントを一意に識別する文字列を指定します。この値が役立つのは、1 つのドキュメントに複数のスクリプト コンポーネントが含まれている場合と、複数のスクリプト コンポーネントに対して 1 つのタイプ ライブラリを生成する場合です。識別子の先頭は必ず文字で始め、識別子内にスペースを入れることはできません。スクリプト コンポーネントのパッケージ内では、識別子は一意である必要があります。

    コンポーネント ID を指定した場合、この値は、スクリプト コンポーネントのクラス名としてホスト アプリケーションで機能します。たとえば、<component> 要素内でコンポーネント ID に "MyComponent" を指定すると、Visual Basic のオブジェクト ブラウザでは、スクリプト コンポーネントはクラス MyComponent として識別されます。コンポーネント ID を指定しない場合の既定値は、ComponentCoClass です。

解説

スクリプト コンポーネント ファイルでは、スクリプト コンポーネントの定義全体 (<registration> 要素、<public> 要素、<implements> 要素などを含む) を、<component> 要素の内側に指定する必要があります。ファイルに複数のスクリプト コンポーネントが含まれている場合は、それらのスクリプト コンポーネントを <package> 要素の内部に記述しなければなりません。

次のコードは、factorial メソッドと name プロパティを含む、単純かつ完全なスクリプト コンポーネントの例です。

メモ   <script> 要素内のスクリプトを隠蔽するには、CDATA セクションが必要です。詳細については、「スクリプト コンポーネント ファイルと XML 適合性」を参照してください。

<?XML version="1.0"?>
<component>
<registration>
   description="My Test Component"
   progid="Component.TestScript"
   version="1"
   classid="{2154c700-9253-11d1-a3ac-0aa0044eb5f}"
</registration>

<public>
   <property name="name"/>
   <method name="factorial"/>
</public>

<script language="VBScript">
   <![CDATA[
   Function factorial(n)
      If isNumeric(n) Then
         If n <= 1 Then
            factorial = 1
         Else
            factorial = n*factorial(n-1)
         End If
      Else
         factorial = -2   ' エラー コード
      End If
   End Function
   ]]>
</script>
</component>

参照

スクリプト コンポーネント ファイルの内容