Difference between revisions of "JA/Documentation/BASIC Guide/Rows and Columns"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {{JA/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Documentation/BASIC Guide/Structure of Spreadsheets |NextPage=Documentation/BASIC Guide/Cells and Rang...)
 
Line 10: Line 10:
 
個々のシートは、複数の行と列から構成されています。これらは、スプレッドシートオブジェクトの <tt>Rows</tt> および <tt>Columns</tt> プロパティーを通して使用でき、<idl>com.sun.star.table.TableColumns</idl> および <idl>com.sun.star.table.TableRows</idl> サービスをサポートします。
 
個々のシートは、複数の行と列から構成されています。これらは、スプレッドシートオブジェクトの <tt>Rows</tt> および <tt>Columns</tt> プロパティーを通して使用でき、<idl>com.sun.star.table.TableColumns</idl> および <idl>com.sun.star.table.TableRows</idl> サービスをサポートします。
  
以下のサンプルコードでは、<tt>FirstCol</tt> および <tt>FirstRow</tt> という 2 つのオブジェクト変数を作成し、それぞれに第 1 列および第 1 行の参照情報を格納させています。
+
次のサンプルコードでは、<tt>FirstCol</tt> および <tt>FirstRow</tt> という 2 つのオブジェクト変数を作成し、それぞれに第 1 列および第 1 行の参照情報を格納させています。
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 25: Line 25:
 
</source>
 
</source>
  
列オブジェクトは <idl>com.sun.star.table.TableColumn</idl> サービスをサポートしており、以下のプロパティーを利用できます。
+
列オブジェクトは <idl>com.sun.star.table.TableColumn</idl> サービスをサポートしており、次のプロパティーを利用できます。
  
 
;<tt>Width (long)</tt>:100 分の 1 ミリ単位で指定した列幅。
 
;<tt>Width (long)</tt>:100 分の 1 ミリ単位で指定した列幅。
Line 32: Line 32:
 
;<tt>IsStartOfNewPage (Boolean)</tt>:印刷時に該当列の前で改ページをする指定。
 
;<tt>IsStartOfNewPage (Boolean)</tt>:印刷時に該当列の前で改ページをする指定。
  
列の幅は、<tt>OptimalWidth</tt> プロパティーに <tt>True</tt> を指定した場合のみ、自動的に最適化されます。 ▼個々のセル幅が変更されても、そのセルを含む列の幅は変更されません。実際の機能面から見た場合、<tt>OptimalWidth</tt> はプロパティーではなくメソッドとして分類されるべきものです。
+
列の幅は、<tt>OptimalWidth</tt> プロパティーに <tt>True</tt> を指定した場合のみ、自動的に最適化されます。個々のセル幅が変更されても、そのセルを含む列の幅は変更されません。実際の機能面から見た場合、<tt>OptimalWidth</tt> はプロパティーではなくメソッドとして分類されるべきものです。
  
行オブジェクトは <idl>com.sun.star.table.RowColumn</idl> サービスをベースとしており、以下のプロパティーを利用できます。
+
行オブジェクトは <idl>com.sun.star.table.RowColumn</idl> サービスをベースとしており、次のプロパティーを利用できます。
  
 
;<tt>Height (long)</tt>:100 分の 1 ミリ単位で指定した行の高さ。
 
;<tt>Height (long)</tt>:100 分の 1 ミリ単位で指定した行の高さ。
Line 41: Line 41:
 
;<tt>IsStartOfNewPage (Boolean)</tt>:印刷時に該当行の前で改ページをする指定。
 
;<tt>IsStartOfNewPage (Boolean)</tt>:印刷時に該当行の前で改ページをする指定。
  
行の <tt>OptimalHeight</tt> プロパティーに <tt>True</tt> を指定した場合、その行に属するセルの高さが変更された際に、行全体の高さが自動的に最適化されます。 こうした自動最適化は、<tt>Height</tt> プロパティーで行の高さを指定すると解除されます。
+
行の <tt>OptimalHeight</tt> プロパティーに <tt>True</tt> を指定した場合、その行に属するセルの高さが変更された際に、行全体の高さが自動的に最適化されます。こうした自動最適化は、<tt>Height</tt> プロパティーで行の高さを指定すると解除されます。
  
以下のサンプルコードでは、シート内の最初の 5 行に対して高さの自動最適化を設定し、第 2 列を非表示にします。
+
次のサンプルコードでは、シート内の最初の 5 行に対して高さの自動最適化を設定し、第 2 列を非表示にします。
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 64: Line 64:
 
</source>
 
</source>
  
{{Documentation/Note|{{OOo}} Basic では、<tt>Rows</tt> および <tt>Columns</tt> のリストには、インデックスを使用してアクセスできます。 ただし VBA の場合とは異なり、列のインデックスの開始値は 1 ではなく 0 となります。}}
+
{{Documentation/Note|{{OOo}} Basic では、<tt>Rows</tt> および <tt>Columns</tt> のリストには、インデックスを使用してアクセスできます。ただし VBA の場合とは異なり、列のインデックスの開始値は 1 ではなく 0 となります。}}
  
 
== 列および行の挿入と削除 ==
 
== 列および行の挿入と削除 ==
Line 82: Line 82:
 
</source>
 
</source>
  
このサンプルコードでは、<tt>insertByIndex</tt> メソッドを用いて、シート上の第 4 列に新規列を挿入しています (開始値が 0 なのでインデックス値は 3)。 挿入時の第 2 パラメータには、挿入する列数を指定します (この場合は 1)。
+
このサンプルコードでは、<tt>insertByIndex</tt> メソッドを用いて、シート上の第 4 列に新規列を挿入しています (開始値が 0 なのでインデックス値は 3)。挿入時の第 2 パラメータには、挿入する列数を指定します (この場合は 1)。
  
次に、<tt>removeByIndex</tt> メソッドを用いて、第 6 列を削除しています (インデックス値は 5)。 この場合の第 2 パラメータには、削除する列数を指定します。
+
次に、<tt>removeByIndex</tt> メソッドを用いて、第 6 列を削除しています (インデックス値は 5)。この場合の第 2 パラメータには、削除する列数を指定します。
  
こうした列の処理法は、行に対する挿入や削除の場合も同様で、<tt>Rows</tt> オブジェクトの代わりに <tt>Columns</tt> オブジェクトを使用するだけです。
+
こうした列の処理法は、行に対する挿入や削除の場合も同様で、<tt>Columns</tt> オブジェクトの代わりに <tt>Rows</tt> オブジェクトを使用するだけです。
  
 
{{PDL1}}
 
{{PDL1}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Rows and Columns}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Rows and Columns}}

Revision as of 22:09, 27 November 2008

doc OOo
Book.png


個々のシートは、複数の行と列から構成されています。これらは、スプレッドシートオブジェクトの Rows および Columns プロパティーを通して使用でき、com.sun.star.table.TableColumns および com.sun.star.table.TableRows サービスをサポートします。

次のサンプルコードでは、FirstCol および FirstRow という 2 つのオブジェクト変数を作成し、それぞれに第 1 列および第 1 行の参照情報を格納させています。

Dim Doc As Object
Dim Sheet As Object
Dim FirstRow As Object
Dim FirstCol As Object
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
FirstCol = Sheet.Columns(0)
FirstRow = Sheet.Rows(0)

列オブジェクトは com.sun.star.table.TableColumn サービスをサポートしており、次のプロパティーを利用できます。

Width (long)
100 分の 1 ミリ単位で指定した列幅。
OptimalWidth (Boolean)
列を最適な幅に設定する指定。
IsVisible (Boolean)
列を表示する指定。
IsStartOfNewPage (Boolean)
印刷時に該当列の前で改ページをする指定。

列の幅は、OptimalWidth プロパティーに True を指定した場合のみ、自動的に最適化されます。個々のセル幅が変更されても、そのセルを含む列の幅は変更されません。実際の機能面から見た場合、OptimalWidth はプロパティーではなくメソッドとして分類されるべきものです。

行オブジェクトは com.sun.star.table.RowColumn サービスをベースとしており、次のプロパティーを利用できます。

Height (long)
100 分の 1 ミリ単位で指定した行の高さ。
OptimalHeight (Boolean)
行を最適な高さに設定する指定。
IsVisible (Boolean)
行を表示する指定。
IsStartOfNewPage (Boolean)
印刷時に該当行の前で改ページをする指定。

行の OptimalHeight プロパティーに True を指定した場合、その行に属するセルの高さが変更された際に、行全体の高さが自動的に最適化されます。こうした自動最適化は、Height プロパティーで行の高さを指定すると解除されます。

次のサンプルコードでは、シート内の最初の 5 行に対して高さの自動最適化を設定し、第 2 列を非表示にします。

Dim Doc As Object
Dim Sheet As Object
Dim Row As Object
Dim Col As Object
Dim I As Integer
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
For I = 0 To 4
   Row = Sheet.Rows(I)
   Row.OptimalHeight = True
Next I
 
Col = Sheet.Columns(1)
Col.IsVisible = False

Template:Documentation/Note

列および行の挿入と削除

各シート中の列や行へのアクセスおよび、これらの挿入と削除には、Rows および Columns オブジェクトを使用します。

Dim Doc As Object
Dim Sheet As Object
Dim NewColumn As Object
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
Sheet.Columns.insertByIndex(3, 1)
Sheet.Columns.removeByIndex(5, 1)

このサンプルコードでは、insertByIndex メソッドを用いて、シート上の第 4 列に新規列を挿入しています (開始値が 0 なのでインデックス値は 3)。挿入時の第 2 パラメータには、挿入する列数を指定します (この場合は 1)。

次に、removeByIndex メソッドを用いて、第 6 列を削除しています (インデックス値は 5)。この場合の第 2 パラメータには、削除する列数を指定します。

こうした列の処理法は、行に対する挿入や削除の場合も同様で、Columns オブジェクトの代わりに Rows オブジェクトを使用するだけです。

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools