Morgen Hans Werner,
na ja, da könntest Du schon recht haben:) Wäre von der Logik her sogar
wahrscheinlich.
In meinem Makro habe ich mit xray ja das Objekt im Speicher untersucht -
und da ist auch nach der store() Methode die Fixierung noch vorhanden.
Was ich nicht gemacht habe (Du aber:)) ist das tatsächlich gespeicherte
Dokument zu untersuchen. Das hast Du aber getan.
Entscheidend ist ja diese Zeile in der Datei:
<config:config-item config:name="ActiveSplitRange"
config:type="short">2</config:config-item>
Und wenn das nach dem Speichern nicht mehr in der Datei steht - dann ist
die Methode fehlerhaft :)
Insofern: Sehr gut. Gute Analyse und gute Schlussfolgerung.
Ich könnte den Bug entsprechend bestätigen.
Viele Grüße
Thomas
Am 27.01.2021 um 08:56 schrieb Hans-Werner Herold:
Guten Morgen Thomas,
ich habe mal eben (mit meinen Möglichkeiten - ohne "XRAY") einen
kleinen Test gemacht, indem ich "oCALC.Store()" kommentierte.
Das Ergebnis: Im "hidden"-Mode bleibt die Zeilen-Fixierung erhalten.
De-kommentiere ich hingegen "oCALC.Store()", verschwindet die
Zeilen-Fixierung.
Das ist aber aber nicht das, was Du beschrieben hast: "[...] auch nach
dem Aufruf der Methode Store() ist die Fixierung noch da - erst beim
Aufruf der close-Methode verschwindet sie offensichtlich [...]".
Ich habe dann mal noch die "CALC.ods" entpackt und die "settings.xml"
angeschaut.
Wenn man das Makro im "hidden"-Mode mit "oCALC.Store()" KOMMENTIERT
startet, dann ist dieser Bereich enthalten:
config:config-item-map-indexed config:name="Views">
<config:config-item-map-entry>
<config:config-item config:name="ViewId"
config:type="string">view1</config:config-item>
<config:config-item-map-named config:name="Tables">
<config:config-item-map-entry config:name="Tabelle1">
<config:config-item config:name="CursorPositionX"
config:type="int">0</config:config-item>
<config:config-item config:name="CursorPositionY"
config:type="int">1</config:config-item>
<config:config-item config:name="HorizontalSplitMode"
config:type="short">0</config:config-item>
<config:config-item config:name="VerticalSplitMode"
config:type="short">2</config:config-item>
<config:config-item config:name="HorizontalSplitPosition"
config:type="int">0</config:config-item>
<config:config-item config:name="VerticalSplitPosition"
config:type="int">1</config:config-item>
<config:config-item config:name="ActiveSplitRange"
config:type="short">2</config:config-item>
<config:config-item config:name="PositionLeft"
config:type="int">0</config:config-item>
<config:config-item config:name="PositionRight"
config:type="int">0</config:config-item>
<config:config-item config:name="PositionTop"
config:type="int">0</config:config-item>
<config:config-item config:name="PositionBottom"
config:type="int">1</config:config-item>
<config:config-item config:name="ZoomType"
config:type="short">0</config:config-item>
<config:config-item config:name="ZoomValue"
config:type="int">100</config:config-item>
<config:config-item config:name="PageViewZoomValue"
config:type="int">60</config:config-item>
<config:config-item config:name="ShowGrid"
config:type="boolean">true</config:config-item>
<config:config-item config:name="AnchoredTextOverflowLegacy"
config:type="boolean">false</config:config-item>
</config:config-item-map-entry>
</config:config-item-map-named>
<config:config-item config:name="ActiveTable"
config:type="string">Tabelle1</config:config-item>
<config:config-item config:name="HorizontalScrollbarWidth"
config:type="int">1234</config:config-item>
<config:config-item config:name="ZoomType"
config:type="short">0</config:config-item>
<config:config-item config:name="ZoomValue"
config:type="int">100</config:config-item>
<config:config-item config:name="PageViewZoomValue"
config:type="int">60</config:config-item>
<config:config-item config:name="ShowPageBreakPreview"
config:type="boolean">false</config:config-item>
<config:config-item config:name="ShowZeroValues"
config:type="boolean">true</config:config-item>
<config:config-item config:name="ShowNotes"
config:type="boolean">true</config:config-item>
<config:config-item config:name="ShowGrid"
config:type="boolean">true</config:config-item>
<config:config-item config:name="GridColor"
config:type="int">12632256</config:config-item>
<config:config-item config:name="ShowPageBreaks"
config:type="boolean">true</config:config-item>
<config:config-item config:name="HasColumnRowHeaders"
config:type="boolean">true</config:config-item>
<config:config-item config:name="HasSheetTabs"
config:type="boolean">true</config:config-item>
<config:config-item config:name="IsOutlineSymbolsSet"
config:type="boolean">true</config:config-item>
<config:config-item config:name="IsValueHighlightingEnabled"
config:type="boolean">false</config:config-item>
<config:config-item config:name="IsSnapToRaster"
config:type="boolean">false</config:config-item>
<config:config-item config:name="RasterIsVisible"
config:type="boolean">false</config:config-item>
<config:config-item config:name="RasterResolutionX"
config:type="int">2290</config:config-item>
<config:config-item config:name="RasterResolutionY"
config:type="int">450</config:config-item>
<config:config-item config:name="RasterSubdivisionX"
config:type="int">0</config:config-item>
<config:config-item config:name="RasterSubdivisionY"
config:type="int">0</config:config-item>
<config:config-item config:name="IsRasterAxisSynchronized"
config:type="boolean">false</config:config-item>
<config:config-item config:name="AnchoredTextOverflowLegacy"
config:type="boolean">false</config:config-item>
</config:config-item-map-entry>
</config:config-item-map-indexed>
Wenn man das Makro im "hidden"-Mode mit "oCALC.Store()" NICHT
KOMMENTIERT startet, dann fehlt obiger Bereich.
Das deckt sich auch mit Deiner Annahme: "[...] Das Fixieren der
Zeilen/Spalten ist eine Eigenschaft des CurrentControllers - also der
Viewansicht. Wo genau das abgespeichert ist, weiss ich nicht genau.
Beim Öffnen "hidden" wird zwar das Objekt erzeugt, eine Viewansicht
gibt es aber nicht wirklich. Ich denke, hier musst Du im Bug-Bericht
ansetzen: Offensichtlich werden die Informationen zum View-Controller
beim Speichern eines "hidden" geöffneten Dokumentes überschrieben
durch Standardvorgaben?? Dadurch verschwinden dann natürlich auch die
Infos zu fixierten Spalten/Zeilen.... [...]"
Allerdings scheint entgegen Deiner "XRAY"-Beobachtung nicht das
"oCALC.Close()", sondern das "oCALC.Store()" der "Übeltäter" zu sein.
Zusammengefasst würde ich das Problem jetzt so formulieren:
Startet man das Makro
Sub TestFixedRow
Dim CALC As String : CALC = "E:\TMP\CALC.ods" ' May be to be modified !
Dim oCALC As Object
Dim aCALCpropv(0) As New com.sun.star.beans.PropertyValue
aCALCpropv(0).Name = "Hidden"
aCALCpropv(0).Value = True
oCALC =
StarDesktop.loadComponentFromURL(ConvertToUrl(CALC),"_blank",0,aCALCpropv())
Wait(1000)
oCALC.Store()
oCALC.Close(True)
End Sub
im "hidden"-Mode, so löscht "oCALC.Store()" (die Informationen der
VIEW-Ansicht und damit eben auch) die vorhandene "Zeilen-Fixierung".
Ehe ich den BUG-Report entsprechend ergänze, hätte ich schon gern eine
kritische Beurteilung meiner "Erkenntnisse". Deshalb die Bitte an Dich
und/oder andere: Was meinst Du/ihr dazu ?
Viele Grüße
Hans-Werner :-))
--
M.I.C. Consulting
Riederbergstr. 92
65195 Wiesbaden
Tel. 0611 - 188 53 39
Fax: 0611 - 188 53 40
http://www.mic-consulting.de
e-Mail: info@mic-consulting.de
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.