「A3:A200の日付で過去7日間の背景を赤にする」コードを作りたいのですが、うまく行きません。
どこをどのように修正すればよいでしょうか?
A3:A200はシリアル値ベースの日付で yy/mm/dd 書式
- バージョン6=6.2.3.2
- バージョン5=5.0.5.2
です。スタイルの「背景R」は事前に定義されてます。
現状でのコードは以下の通り
Sub SetGreenStyle()
Dim oRange as object
Dim oConFormat
Dim oCondition(2) As New com.sun.star.beans.PropertyValue
oRange = ThisComponent.Sheets(1).getCellRangeByName("A3:A200")
oConFormat = oRange.ConditionalFormat
oCondition(0).Name = "SourcePosition"
oCondition(0).Value = oRange.getCellByposition(0,0).getCellAddress()
oCondition(1).Name = "Operator"
oCondition(1).Value = com.sun.star.sheet.DateType.LAST7DAYS
oCondition(2).Name = "StyleName"
oCondition(2).Value = "背景R"
oConFormat.addNew(oCondition())
oRange.ConditionalFormat = oConFormat
End Sub
〔状況〕
- 入力されてる行はすべて赤くなる
- 作られた書式を確認すると
〔セルの値が〕,次の値より大きい ,次の値=0
となっており、カテゴリ分類が〔日付が〕になってません。 - マニュアルでこの条件付き書式設定をすると正常に反映され
作られた書式を確認すると
〔日付が〕,過去7日間
で生成されてます。 - マクロ記録ではそのような書式記述はされてないです。
- 不足に感ずること ・・ A3:A300のデータ書式がシリアル値ベースの書式であることを
伝えなくてはいけないような気がしてます。
追記 – 2019/06/04 13:00
1.・・.beans.PropertyValueで、不足するName,及び,Value を当方自身が探しきれてないのも
解決を遅くしてると考えてます。従い、知恵者に希望するのは,回答に至る段取りも併記してほしい。
なぜなら,例えば A3:A200が書式 yy/mm/dd でなければならない — そのPropertyはどう調べていくか?
2.マニュアルではうまく行くのでその条件付き書式が含まれているはずの
odsファイルから探す方法があるのかないのか(逆アセンブル?)など
3.いずれにしてもEXCEL-VBAのIDEでの入力支援のように、候補Propertyをドロップダウンのように
探せないのか?
等々