Top > OOoBasic > Calc > contents

セルの値 Edit

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

セルへの入力 Edit

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

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

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

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

数値と数式と文字列 Edit

全部一度に取り扱います。とりあえず,次のコードを実行してみます。

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

全て数値が表示されます。「数式」は文字列の最初に「=」をつけておきます。

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 プロパティーで設定すると,文字列となります。

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

取得 Edit

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

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

表示される文字列は数書式設定によって違いますが,標準の場合は "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