Hallo Hans-Werner,
nun war ich doch neugierig und hab das mal getestet mit ner frischen 6.1
- und ja, Ich kann Dein Verhalten bestätigen.
Also mal tiefer "analysiert" - und alles sieht gut aus.
Ich denke, es ist einfach ein Timing-Problem. Betrachte ich mir im
Objektinspektor die Inhalte der aktuellen Zelle etc... passt alles.
ich denke, die Anweisung
oD.CurrentController.Select(oTB.getCellByPosition(4,0))
wird einfach schon ausgeführt, bevor die Visibility fertig gestellt ist
- ud schwupp ist eben die Zelle (4,0) die erste sichtbare.
Hab einfach eine wait-Anweisung ergänzt und alles läuft wie gewünscht.
...
oD.getCurrentController().getFrame().getContainerWindow().setVisible(True)
wait(500)
oD.CurrentController.Select(oTB.getCellByPosition(4,0))
...
Vielleicht reicht Dir das ja...
VG
Thomas
Am 09.08.2018 um 14:19 schrieb OoOHWHOoO:
Hallo Thomas,
ich habe jetzt mal folgende Tests Durchgeführt:
[1] Das Systemabbild vom 30.07.2018 zurück eingespielt.
[2] Mit dem zurück eingespielten Systemabbild steht nun wieder die
alte LO-Version mit Download- und Installationsdatum 05.11.2017 zur
Verfügung:
Version: 5.3.7.2 (x64)
Build-ID: 6b8ed514a9f8b44d37a1b96673cbbdd077e24059
CPU-Threads: 4; BS-Version: Windows 6.1; UI-Render: Standard;
Layout-Engine: neu;
Gebietsschema: de-DE (de_DE); Calc: group
[3] Ausführung des Makros (siehe [12]) mit aus-kommentierter Zeile
»oTB.getCellByPosition(0,0).String = "Cursor"«. Alles bestens. Die
Spalten werden NICHT nach links weg geschoben. Alle 5 Spalten sind
sichtbar.
[4] Anschließend habe ich LO beendet, mein LO-Benutzerprofil an einen
anderen Ort verschoben und LO wieder gestartet. LO hat erwartungsgemäß
eine neues Benutzerprofil angelegt.
[5] JETZT ABER: Ausführung des Makros (s.u.) mit oder ohne
aus-kommentierter Zeile »oTB.getCellByPosition(0,0).String =
"Cursor"«. Der Fehler tritt in beiden Fällen auf. Die Spalten werden
nach links verschoben, so dass links oben in der Ecke die Zelle "E1"
angezeigt wird.
[7] Anschließend habe ich jetzt noch mit der "Separate Install GUI" LO
"5.3.7.2 (x64)" parallel installiert. Es ist exakt die selbe
LO-Version wie die des standardmäßig installierten LO (siehe [2]),
aber eben ohne "mein" LO-Benutzerverzeichnis.
Version: 5.3.7.2 (x64)
Build-ID: 6b8ed514a9f8b44d37a1b96673cbbdd077e24059
CPU-Threads: 4; BS-Version: Windows 6.1; UI-Render: Standard;
Layout-Engine: neu;
Gebietsschema: de-DE (de_DE); Calc: CL
[8] Genau der selbe Fehler wie unter [5] beschrieben.
[9] Anschließend habe ich das neue LO installiert - unter Beibehaltung
meines (alten) standardmäßigen Benutzerprofils:
Version: 6.0.6.2 (x64)
Build-ID: 0c292870b25a325b5ed35f6b45599d2ea4458e77
CPU-Threads: 4; BS: Windows 6.1; UI-Render: Standard;
Gebietsschema: de-DE (de_DE); Calc: group
[10] Fehlerfreie Ausführung des Makros wie unter [3].
[1] Vorläufige Folgerungen
[11.1] Der Fehler tritt NUR DANN NICHT auf, wenn das standardmäßige
(alte) LO-Benutzerprofils zum Tragen kommt. In allen anderen Fällen -
"neu angelegtes Benutzerprofil" oder "Benutzerprofil der
Parallelinstallation" - tritt der Fehler auf. Eine Abhängigkeit von
der genutzten LO-Version ist nicht ersichtlich.
[11.2] Wenn Du Dein Benutzerprofil von LO neu anlegen lässt, solltest
Du den Fehler reproduzieren können.
[11.3] Ich habe keinen Schimmer, wo da das Problem mit den von LO neu
angelegten Benutzerprofilen liegen könnte.
[12] Test-Makro
Sub SetCursor_loadComponent
Dim oD as Object
Dim oTB as Object
Dim aB() as String
Dim X as Integer
aB = Array("A","B","C","D","E")
Const P1 = "private:factory/scalc"
Const P2 = "_blank"
Const P3 = 0
Dim aPV(0) as New com.sun.star.beans.PropertyValue
aPV(0).name = "Hidden"
aPV(0).value = True
oD = StarDesktop.loadComponentFromURL(P1,P2,P3,aPV())
oTB = oD.sheets(0)
For X=0 To UBound(aB) Step 1
oTB.getCellByPosition(X,0).String = aB(X)
Next X
' oTB.getCellByPosition(0,0).String = "Cursor" ' Kommentiert, weil
nicht wirklich notwendig !
oD.getCurrentController().getFrame().getContainerWindow().setVisible(True)
oD.CurrentController.Select(oTB.getCellByPosition(4,0))
End Sub
Gruß
Hans-Werner ;-))
--
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.