The spreadsheet Sheet1 has a conditional ‘date is’ ‘this month’ style ‘good’ with range $G$1:$H$1048576. Unexpectedly the script logs StyleName as ‘good’ and the DateType as ‘good’. Note that MRI recognized the type as long but prints a string when inspected. Am I doing something wrong?
SCRIPT OUTPUT
2019.09.03-17:54:05 : ::ConditionalFormat: range=$Sheet1.$G$1:$H$1048576 id=1 type=4 style=Good date=Good
MRI OUTPUT
com.sun.star.beans.XPropertySet
(Name) (Value Type) (Value) (Info.) (Attr.) (Handle)
DateType long Good 0
ImplementationId []byte -SEQUENCE- Pseud Read_Only
PropertySetInfo .beans.XPropertySetInfo -INTERFACE- Pseud Read_Only
StyleName string Good 0
Type long 4 Pseud Read_Only
Types []type -Sequence- Pseud Read_Only
CODE
sheet = sheet_by_name( 'Sheet1' ) # XSpreadsheets
formats = sheet.getPropertyValue( 'ConditionalFormats' ) # XConditionalFormats
for format in formats.getConditionalFormats( ): # XConditionalFormat
cellrange = format.Range # XSheetCellRanges
identifier = format.ID # long = 1
propertySet = format.getByIndex( 0 ) # XPropertySet
conditionType = propertySet.getType( ) # ConditionEntryType = 4 (DATE)
styleName = propertySet.getPropertyValue( 'StyleName' ) # XPropertySet = (String) Good
dateType = propertySet.getPropertyValue( 'DateType' ) # XPropertySet = (String) Good???
# expected DateType = (long)7 THISMONTH
log_write( '::ConditionalFormat: range={} id={} type={} style={} date={}'.format( cellrange.AbsoluteName, identifier, conditionType, styleName, dateType ) )