![]() |
| サイトマップ | |
|
オブジェクトを取り扱うには、対象となるオブジェクトを返すことによって、それを定義できる必要があります。一般に、殆どのオブジェクトは、そのオブジェクトのツリー構造の親オブジェクトのプロパティを使って返します。
それ以外のオブジェクトを返す場合は、コレクションの中からオブジェクトを1つ指定します。対象となるコレクションを定義したら、そのインデックス値を使って目的のオブジェクトを返すことができます (配列の取り扱いと同じ)。コレクションの全てで共有されるアイテムメソッドを使用するか、あるいは、直接インデックスを利用できます。インデックスには、アイテムの名称または番号を利用できます。例えば:
Set Worksheet = Notebooks("My Notebook").NotebookItems.Item(2)
Notebooks
コレクションの中からノートブック "My Notebook" を返し、Item
プロパティとインデックス番号で NotebookItems
コレクションの中の3番目のアイテムを変数 Worksheet
として返します。Notebooks
コレクションには、SigmaPlot で開く全てのノートブックのリストが、NotebookItems
コレクションには指定したノートブックの全てのアイテムが含まれています。
オブジェクトを変数に定義することによっても、オブジェクトを返して利用することができます。通常は、Dim (dimension) 文を使います。
変数の宣言は、その変数を最初に利用することで暗黙的に宣言できますが、Option Explicit
を使用することで、タイプミスによって生じるバグを回避することができます。以下にスクリプトの例を示します:
Option Explicit Sub Main Dim ItemCount Dim SPWorksheets$() ItemCount = ActiveDocument.NotebookItems.Count ReDim SPWorksheets$(ItemCount) Dim SPItems Set SPItems = ActiveDocument.NotebookItems Dim Index Index = 0 Dim Item For Each Item In SPItems If SPItems(Index).ItemType = 1 Then SPWorksheets$(Index) = SPItems(Index).Name End If Index = Index + 1 Next Item Begin Dialog UserDialog 320,119,"Worksheets in Active Notebook" ' %GRID:10,7,1,1 OKButton 210,14,90,21 ListBox 20,14,170,91,SPWorksheets(),.ListBox1 End Dialog Dim dlg As UserDialog Dialog dlg End Sub
Dim
(Dimension) 文を使用して変数を複数定義し、Set
命令を使って宣言される変数をオブジェクトとして定義しています。
![]() |
![]() |
![]() |