これは、数値かどうかを判定するところ新しく、
それ以外は今までのコードを組み合わせて実現できそうです。
sub ksIsNumeric
dim sheet as object
dim cell as object
Sheet =ThisComponent.sheets (0)
cell = Sheet.getCellByPosition(0,0)
if (isNumeric(cell.value)) then
msgbox “YES”
end if
end sub
上のコードは何時でもYESを返します。
msgboxを以下のように変更してみると
理由は簡単です。
msgbox “YES” & cell.value &” :” & cell.string
YES0:a ・・・・(0,0)にaを代入してある場合
というわけで、何時でもYESであるらしい。
こういうところが面倒くさいと思うんだけど、
Cell.Typeを使用すれば、解決できそうです。
sub ksIsNumeric
dim sheet as object
dim cell as object
Sheet =ThisComponent.sheets (0)
cell = Sheet.getCellByPosition(0,0)
Select Case cell.Type
Case com.sun.star.table.CellContentType.EMPTY
MsgBox “Content: Empty”
Case com.sun.star.table.CellContentType.VALUE
MsgBox “Content: Value”
Case com.sun.star.table.CellContentType.TEXT
MsgBox “Content: Text”
Case com.sun.star.table.CellContentType.FORMULA
MsgBox “Content: Formula”
End Select
end sub