Top > OOoBasic > Calc > contents

*セルの値 [#e40db99a]

セルへ「数値」、「数式」、「文字列」を入力,取得してみます。取り扱うセル オブジェクトを取得してある場合です。セル オブジェクトの取得はこちら。
セルへ「数値」、「数式」、「文字列」を入力,取得してみます。取り扱うセルオブジェクトを取得してある場合です。セルオブジェクトの取得はこちら。

#contents
**セルへの入力 [#g55f0566]

セル オブジェクトに上記のものに関するプロパティーは次のものです。
セルオブジェクトに上記のものに関するプロパティーは次のものです。

,プロパティー,==
,数値,''Value''
,数式,''Formula''
,文字列,''String''

文字列の取得は ''Text'' プロパティーではセル オブジェクトから直接取得することはできません。
文字列の取得は ''Text'' プロパティーではセルオブジェクトから直接取得することはできません。

セル内の文章の配置が「標準」であれば,「数値」は「右揃え」と「文字列」は「左揃え」になるのですぐに確認できます。また,半角数字のみがセルに「文字列」として入力されている場合は数式バーの表示がシングル クウォートを伴って「 '123 」などのように表示されます。
セル内の文章の配置が「標準」であれば,「数値」は「右揃え」と「文字列」は「左揃え」になるのですぐに確認できます。また,半角数字のみがセルに「文字列」として入力されている場合は数式バーの表示がシングルクウォートを伴って「 '123 」などのように表示されます。
**数値と数式と文字列 [#of82ecf0]

全部一度に取り扱います。とりあえず,次のコードを実行してみます。
#code(ob){{
Sub cell_value_1()

 Sub cell_value_1()
   Dim oCell1 As Object, oCell2 As Object
   Dim oCell3 As Object, oSheet As Object
   
   oSheet = ThisComponent.Sheets(0)
   oCell1 = oSheet.getCellRangeByName( "B1" )
   oCell2 = oSheet.getCellRangeByName( "B2" )
   oCell3 = oSheet.getCellRangeByName( "B3" )
   oCell1.Value = 1000
   oCell2.Value = 50
   oCell3.Formula = "=SUM(B1:B2)"
End Sub
}}
 End Sub

全て数値が表示されます。「数式」は文字列の最初に「=」をつけておきます。
#code(ob){{
Sub cell_value_2()

 Sub cell_value_2()
   Dim oCell4 As Object, oCell5 As Object
   Dim oCell6 As Object, oSheet As Object
   
   oSheet = ThisComponent.Sheets(0)
   oCell4 = oSheet.getCellRangeByName( "B5" )
   oCell5 = oSheet.getCellRangeByName( "B6" )
   oCell6 = oSheet.getCellRangeByName( "B7" )
   oCell4.String = "abc"
   oCell5.String = 10000
   oCell6.Value = "123XYZ456"
End Sub
}}
"B5" には文字列が,"B6" にはシングル クウォートを伴って文字列として表示されます。 Basic の数値を ''String'' プロパティーで設定すると,文字列となります。
 End Sub

"B5" には文字列が,"B6" にはシングルクウォートを伴って文字列として表示されます。 Basic の数値を ''String'' プロパティーで設定すると,文字列となります。

"B7" では数値として "123" が表示されます。文字列の前から数値として認識できる部分のみが用いられます。
**取得 [#d4ee8f1f]

セルから「数値」、「数式」、「文字列」を取得するにはプロパティーを用いるだけです。 ''String'' プロパティーでは数書式設定されて表示される文字列が取得できます。(オプション設定で数式を表示にしていても ''String'' プロパティーでは取得できません)
#code(ob){{
Sub cell_value_3()
Dim oCell As Object, oSheet As Object

 Sub cell_value_3()
 Dim oCell As Object, oSheet As Object
   oSheet = ThisComponent.Sheets(0)
   oCell = oSheet.getCellRangeByName( "A2" )
   oCell.Value = 100.0005
   MsgBox oCell.String
End Sub
}}
 End Sub

表示される文字列は数書式設定によって違いますが,標準の場合は "100" と表示されます。

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes