声明一个属性。
<property name="propertyName" [internalName="propertyVariable"] />
 或者 
<property name="propertyName"> <get [internalName="getFunctionName"] /> <put [internalName="putFunctionName"] /> </property>
提示 在 XML,可以实现没有内容的元素 (如 <property> 元素),方法是用 /> 来结束元素。
属性可以作为简单值来说明。在这种情况下,属性将作为脚本部件文件内的全局变量来处理。
也可以将属性作为过程(函数或子程序)来实现,这样可以计算属性的值,以及控制属性是否为只读、只写或是可读写的。在这种技术中,属性将在单独的 <script> 元素内作为过程(函数或子程序)实现。<property>元素将属性名称映射到用来实现该属性的过程。过程的名称必须与在 <property> 元素中指定的内部名称一致。
当调用 putFunctionName 时,该函数将传递一个参数,其中包含了用来设置给该属性的值。
除了以上所示的标准语法,您可以使用速记符号指定由子标记(child tags)添加的信息。例如,如果您想声明一个具有和属性相同名字的"get" 和 "put" 访问者属性,您可以使用以下语法:
<property name="myproperty" get put/>
它在功能上相当于:
<property name="myproperty"><get/> <put/></property>
如果您想明确地不以默认名称命名这些访问者,您可以使用以下语法:
<property name="myproperty" get="testget" put="testput"/>
要指定缺省属性,只需在 <property> 元素中包含 dispid="0" 这个属性。详细信息请参阅说明属性。
下面的脚本部件片段演示了四个属性 (sname、age、dateOfBirth 以及 mstatus) 的定义。sname 属性为一个简单值。age 属性是只读的,由 readAge 函数实现。dateOfBirth 属性是可读写的,由 readDOB 和 writeDOB 两个函数实现。最后, mstatus 属性由缺省函数 get_mstatus 以及 put_mstatus 实现。
注意 CDATA 项是必需的,以使 <script> 元素中的脚本成为不透明的。详细信息请参阅脚本部件文件和 XML 一致性。
<public>
   <property name="sname"/>
   <property name="age">
      <get internalName="readAge"/>
   </property>
   <property name="dateOfBirth">
      <get internalName="readDOB"/>
      <put internalName="writeDOB"/>
   </property>
   <property name="mstatus">
      <get/>
      <put/>
   </property>
</public>
<script language="VBScript">
<![CDATA[
Dim sname   ' 可读写的 sname 属性(没有函数)。
Dim gDOB   ' 用来保存出生日期的全局变量。
Dim gMStatus   ' 用来保存材料状态的全局变量。
Function readDOB()
   ' Gets value of dateOfBirth property.
   readDOB = gDOB
End Function
Function writeDOB(newDOB)
   ' 设置 dateOfBirth 属性的值。
   If isDate(gDOB) Then
      ' 错误检查。
      gDOB = newDOB
   End If
End Function
Function readAge()
   '计算只读 age 的属性。
   If isDate(gDOB) Then
      dobM = DatePart("m", gDOB)
      dobD = DatePart("d", gDOB)
      dobY = DatePart("yyyy", gDOB)
      todayY = DatePart("yyyy", Date)
      age = todayY - dobY
      ' 如果今年还没有过生日,则进行调整。
      bday = DateValue(dobM & "/" & dobD & "/" & todayY)
      If DateDiff("d", bday, DateValue(Date)) < 0 Then
         age = age - 1
      End If
      readAge = age
   End If
End Function
      
Function get_mstatus()
   ' 读取 mstatus 属性的值。
   get_mstatus = gMStatus
End Function
Function put_mstatus(s)
   ' 写入 mstatus 属性的值。
   If s = "M" Or s = "S" Then
      gMStatus = s
   Else
      gMStatus = "?"
   End If
End Function
]]>
</script>
<event> 元素 | <method> 元素 | 说明事件 | 说明方法 | 说明属性