セルの値 
セルへ「数値」、「数式」、「文字列」を入力,取得してみます。取り扱うセルオブジェクトを取得してある場合です。セルオブジェクトの取得はこちら。
セルへの入力 
セルオブジェクトに上記のものに関するプロパティーは次のものです。
プロパティー |
数値 | Value |
数式 | Formula |
文字列 | String |
文字列の取得は Text プロパティーではセルオブジェクトから直接取得することはできません。
セル内の文章の配置が「標準」であれば,「数値」は「右揃え」と「文字列」は「左揃え」になるのですぐに確認できます。また,半角数字のみがセルに「文字列」として入力されている場合は数式バーの表示がシングルクウォートを伴って「 '123 」などのように表示されます。
数値と数式と文字列 
全部一度に取り扱います。とりあえず,次のコードを実行してみます。
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" が表示されます。文字列の前から数値として認識できる部分のみが用いられます。
取得 
セルから「数値」、「数式」、「文字列」を取得するにはプロパティーを用いるだけです。 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" と表示されます。