Hallo,
unter "LO 5.3.3.2 (x64) @ Windows 7 Home Premium (x64)" scheinen die "uno"-Kommandos "uno:ColumnWidth" und "uno:RowHeight" nicht mehr korrekt zu funktionieren. Anstatt dass die im Makro übergebene ColumnWidth bzw. RowHeigth angewendet wird erscheint jeweils ein PopUp-Menü. Unter "LO 5.2.7.2 (x64) @ Windows 7 Home Premium (x64)" tritt diese Fehlfunktion nicht auf.
Die Frage ist nun, hat sich mit der neuen LO-Version die Syntax für die beiden "uno"-Kommandos geändert oder liegt ein BUG vor.
Weiter unten zum Nachvollziehen ein Basic Makro mit den beiden "uno"-Kommandos und Ablaufbeschreibungen für "LO 5.2.7.2 (x64)" bzw. "LO 5.3.3.2 (x64)".
Gruß
Hans-Werner
1 "LibreOffice Basic"-Makro
Sub TestUnoCommand
Dim oC as Object : oC = ThisComponent.CurrentController
Dim oF as Object : oF = oC.Frame
Dim oS as Object : oS = oC.ActiveSheet
Dim oD as Object : oD = createUnoService("com.sun.star.frame.DispatchHelper")
Dim Column as Integer
Dim Row as Integer
Dim RowHeight as Long
Dim ColumnWidth as Long
Dim VP(0) as New com.sun.star.beans.PropertyValue
Column = 0
Row = 0
RowHeight = 20
oC.Select(oS.getCellByPosition(Column,Row))
VP(0).Name = "RowHeight"
VP(0).Value = RowHeight * 100
oD.executeDispatch(oF,".uno:RowHeight","",0,VP())
Column = 1
Row = 1
ColumnWidth = 40
oC.Select(oS.getCellByPosition(Column,Row))
VP(0).Name = "ColumnWidth"
VP(0).Value = ColumnWidth * 100
oD.executeDispatch(oF,".uno:ColumnWidth","",0,VP())
End Sub
2 Ablauf unter "LibreOffice 5.2.7.2 (x64) @ Windows 7 Home Premium (x64)"
2.1 Neue, leere Tabelle
2.2 Zeilenhöhe Zelle "A1" = 0,45 cm und Spaltenbreite Zelle "B2" = 2,26 cm
2.3 Ausführen "LibreOffice Basic"-Makro "TestUnoCommand"
2.4 Zeilenhöhe Zelle "A1" = 2,00 cm und Spaltenbreite Zelle "B2" = 4,00 cm
2.5 Die "uno"-Kommandos werden korrekt ausgeführt. Es wird kein PopUp-Menü angezeigt.
3 Ablauf unter "LibreOffice 5.3.3.2 (x64) @ Windows 7 Home Premium (x64)
3.1 Neue, leere Tabelle
3.2 Zeilenhöhe Zelle "A1" = 0,45 cm und Spaltenbreite Zelle "B2" = 2,26 cm
3.3 Ausführen "LibreOffice Basic"-Makro "TestUnoCommand"
3.4 Anzeige PopUp-Menü "Zeilenhöhe"
3.5 MausKlick auf [Abbrechen]
3.6 Anzeige PopUp-Menü "Spaltenbreite"
3.7 MausKlick auf [Abbrechen]
3.8 Zeilenhöhe Zelle "A1" = 0,45 cm und Spaltenbreite Zelle "B2" = 2,26 cm
3.9 Die "uno"-Kommandos werden NICHT korrekt ausgeführt. Stattdessen werden PopUp-Menüs angezeigt.