Difference between revisions of "JA/Documentation/BASIC Guide/Rows and Columns"
(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 行の参照情報を格納させています。 | |
<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>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>OptimalHeight</tt> プロパティーに <tt>True</tt> を指定した場合、その行に属するセルの高さが変更された際に、行全体の高さが自動的に最適化されます。こうした自動最適化は、<tt>Height</tt> プロパティーで行の高さを指定すると解除されます。 |
− | + | 次のサンプルコードでは、シート内の最初の 5 行に対して高さの自動最適化を設定し、第 2 列を非表示にします。 | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 64: | Line 64: | ||
</source> | </source> | ||
− | {{Documentation/Note|{{OOo}} Basic では、<tt>Rows</tt> および <tt>Columns</tt> | + | {{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) | + | このサンプルコードでは、<tt>insertByIndex</tt> メソッドを用いて、シート上の第 4 列に新規列を挿入しています (開始値が 0 なのでインデックス値は 3)。挿入時の第 2 パラメータには、挿入する列数を指定します (この場合は 1)。 |
− | 次に、<tt>removeByIndex</tt> メソッドを用いて、第 6 列を削除しています (インデックス値は 5) | + | 次に、<tt>removeByIndex</tt> メソッドを用いて、第 6 列を削除しています (インデックス値は 5)。この場合の第 2 パラメータには、削除する列数を指定します。 |
− | こうした列の処理法は、行に対する挿入や削除の場合も同様で、<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
個々のシートは、複数の行と列から構成されています。これらは、スプレッドシートオブジェクトの 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
列および行の挿入と削除
各シート中の列や行へのアクセスおよび、これらの挿入と削除には、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). |