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 ;-))