Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-09 Diskussionsfäden HansWernerHerold

Hallo Thomas & Robert,

für mich ist es kein Problem ein "wait" einzufügen, wenn das so gemacht 
werden muss, dann ist das eben so. Ich hatte nur nicht den Zusammenhang 
mit dem Benutzerprofil verstanden. So, wie Thomas das erklärt hat, kann 
ich das nachvollziehen.


Ich habe das jetzt auch mal getestet:

[1] (meine alte) registrymodifications.xcu => 1668 kB (nach dem Löschen 
der Liste "Zuletzt verwendete Dokumente" ist sie auf 610 kB geschrumpft)

[2] (von LO neu angelegte) registrymodifications.xcu => 72 kB

Bei [2] reicht ein "wait(1)", also eine läppische Millisekunde, damit 
das Problem nicht mehr auftritt.


Sozusagen ein 
»millisekundenbugodervielleichtauchdochnichtweildieregistrymodifications.xcuimneuzustandeinfachnochzukleinist« 
;-)) ...


Danke für eure weiterführenden Erläuterungen,
Gruß
Hans-Werner :-))
--
Liste abmelden mit E-Mail an: users+unsubscr...@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


Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-09 Diskussionsfäden OoOHWHOoO

Hallo Thomas & Robert,

für mich ist es kein Problem ein "wait" einzufügen, wenn das so gemacht 
werden muss, dann ist das eben so. Ich hatte nur nicht den Zusammenhang 
mit dem Benutzerprofil verstanden. So, wie Thomas das erklärt hat, kann 
ich das nachvollziehen.


Ich habe das jetzt auch mal getestet:

[1] (meine alte) registrymodifications.xcu => 1668 kB (nach dem Löschen 
der Liste "Zuletzt verwendete Dokumente" ist sie auf 610 kB geschrumpft)

[2] (von LO neu angelegte) registrymodifications.xcu => 72 kB

Bei [2] reicht ein "wait(1)", also eine läppische Millisekunde, damit 
das Problem nicht mehr auftritt.


Sozusagen ein 
»millisekundenbugodervielleichtauchdochnichtweildieregistrymodifications.xcuimneuzustandeinfachnochzukleinist« 
;-)) ...


Danke für eure weiterführenden Erläuterungen,
Gruß
Hans-Werner :-))
--
Liste abmelden mit E-Mail an: users+unsubscr...@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


Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-09 Diskussionsfäden Robert Großkopf
Hallo Hans-Werner,
> 
> Mit meinem alten Benutzerprofil funktioniert es (unabhängig von den LO
> Versionen) und mit einem neu angelegten Benutzerprofil tritt der Fehler
> auf (unabhängig von den LO Versionen). Wie kann das Benutzerprofil
> (unterschwellig) auf dieses Timing Einfluss nehmen ? Das "schnüffelt"
> für mich schon ein wenig nach BUG ... oder habe ich da etwas in Deinen
> Ausführungen völlig falsch verstanden ?

Vermutlich sorgt Dein altes Benutzerprofil wegen irgendwelcher
Einstellungen dafür, dass die Makroschritte grundsätzlich langsamer
ablaufen.

Gerade bei Geschichte mit sichtbaren/unsichtbaren Elementen habe ich so
ein Verhalten schon öfter erlebt: Die Makros laufen nicht so ab, dass
erst einmal auf das Ende des vorher gesetzten Befehls gewartet wird. So
muss z.B. beim Öffnen eines Berichtes aus einem (unsichtbaren)
Datenbankdokument genauso ein Wert von Wait(100) vorgegeben werden -
sonst bleibt der Bericht nur eine graue Oberfläche.

Gruß

Robert
-- 
Homepage: http://robert.familiegrosskopf.de
LibreOffice Community: http://robert.familiegrosskopf.de/map_3


-- 
Liste abmelden mit E-Mail an: users+unsubscr...@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


Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-09 Diskussionsfäden Thomas Krumbein

hallo Hans-Werner,


Am 09.08.2018 um 17:34 schrieb OoOHWHOoO:

Hallo Thomas,

[..]
Aber andererseits bedeutet das Ergebnis dann aber, dass jeder, der 
LibreOffice auf seinem PC das erste Mal installiert - und damit auch 
ein nigelnagelneues Benutzerprofil erhält - mit genau diesem Problem 
konfrontiert wird - oder ?




Dem ist wohl so. Ob es aber ein echter "Bug" ist oder nur einfach 
zufällig so auftritt kann ich Dir auch nicht sagen. Möglicherweise liest 
der Controller ja erst das Benutzerprofil aus vor dem "visible" schalten 
(ziemlich sicher sogar - denn dort steht die Größe und Position des 
zuletzt geöffneten Calc-Fensters - und die Daten braucht er ja...). Und 
je größer die registrymodification.xcu ist, um so länger dauert dieser 
Vorgang. Bei einem neuen Profil ist die sehr kurz - da geht es halt 
schneller;))


Vielleicht reicht ja auch schon ein   wait(100) - also 100 msec  - hab 
es nicht getestet.
Also, man könnte auch auf "nicht sicherer Makro-Programmierung" 
plädieren, weil man eine an dieser Stelle mögliche Zeitverzögerung nicht 
berücksichtigt aber sieh es pragmatisch. ne halbe Sek ist kaum 
sichtbar im Dokument - die Funktion gewährleistet auch bei einem ganz 
frischen Profil ... und je länger das Profil steht um so größer (und 
langsamer) wird es ja... also egal.

Lösung gefunden, abhaken:))

VG
Thomas

--
Liste abmelden mit E-Mail an: users+unsubscr...@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


Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-09 Diskussionsfäden OoOHWHOoO

Hallo Thomas,

erst mal ein herzliches Danke für Deine Untersuchungen, Analysen und 
Ergebnisse :-)) !!!


Aber was ich absolut nicht verstehe, was hat das Ganze mit dem 
Benutzerprofil zu tun ?


Mit meinem alten Benutzerprofil funktioniert es (unabhängig von den LO 
Versionen) und mit einem neu angelegten Benutzerprofil tritt der Fehler 
auf (unabhängig von den LO Versionen). Wie kann das Benutzerprofil 
(unterschwellig) auf dieses Timing Einfluss nehmen ? Das "schnüffelt" 
für mich schon ein wenig nach BUG ... oder habe ich da etwas in Deinen 
Ausführungen völlig falsch verstanden ?


Ich habe jetzt mal Deinen "Wait(500)"-Vorschlag mit meinen 
Parallel-Installationen [ 5.3.7.2 (x64) +  6.1.0.3 (x64) ] - die ja das 
von "Separate Install GUI" bereitgestellte Benutzerverzeichnis nutzen - 
getestet - und ja, mit dem "Wait(500)" tritt dann auch in dieser 
Situation der Fehler nicht mehr auf.


Im Prinzip habe ich ja das Problem nicht mehr, da ich ja wieder mein 
altes Benutzerprofil nutze.


Aber andererseits bedeutet das Ergebnis dann aber, dass jeder, der 
LibreOffice auf seinem PC das erste Mal installiert - und damit auch ein 
nigelnagelneues Benutzerprofil erhält - mit genau diesem Problem 
konfrontiert wird - oder ?


Gruß
Hans-Werner ;-))


-- Originalnachricht --
Von: "Thomas Krumbein" 
An: users@de.libreoffice.org
Gesendet: 09.08.2018 17:05:28
Betreff: Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung


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 

Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-09 Diskussionsfäden Thomas Krumbein

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+unsubscr...@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


Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-09 Diskussionsfäden 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+unsubscr...@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


Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-08 Diskussionsfäden OoOHWHOoO

Hallo Thomas,

da bin ich aber froh, dass es mit auskommentierter Zeile bei Dir auch 
funktioniert, so ist meine Erinnerung an Gestern wohl doch ganz richtig.


Ich teste morgen erst mal mit meiner alten zurück gespielten Version und 
dann werden ich die neue LO-Version ganz normal installieren und dann 
wird man sehen. Ich werde berichten, wenn ich mehr weiß ...


Nochmals Danke für Deine Tests,
Gruß
Hans-Werner ;-))


-- Originalnachricht --
Von: "Thomas Krumbein" 
An: users@de.libreoffice.org
Gesendet: 08.08.2018 20:03:10
Betreff: Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung


Hallo Hans-Werner,

hab die Zeile auch mal auskommentiert - keine Änderung. Alles wie 
gewünscht.


Wenn es bei der 6er anders ist, bedarf es sicher intensiverer Tests und 
neue Strategien. Sorry, da kann ich dann jetzt auch nicht helfen.


VG

Thomas


Am 08.08.2018 um 19:52 schrieb OoOHWHOoO:

Hallo Thomas,

ja, so hätte ich das auch gern, aber leider ...

Was mir noch eingefallen ist:

Bis gestern hatte ich "LO 5.3.7.2 (x64)" installiert, und da trat 
dieser Effekt nicht auf.


Nach der gestrigen (Neu-) Installation von "6.0.6.2 (x64)" trat dieser 
Effekt das erste Mal auf. Natürlich habe ich einen Gegen-Test mit 
einer Parallel-Installation von "LO 5.3.7.2 (x64)" gemacht und da trat 
dieser Effekt auch auf. Das klingt zwar erst mal widersprüchlich zu 
meiner obigen Aussage, muss es aber nicht sein, da ich nicht weiß, ob 
die "LO 5.3.7.2 (x64)"-Parallel-Installation das selbe Build 
beinhaltet wie meine alte "LO 5.3.7.2 (x64)"-Installation.


Ich werde morgen mal mein vorheriges Windows-Systemabbild einspielen 
mit meiner alten "LO 5.3.7.2 (x64)"-Installation, und dann schaun mer 
mal ... vielleicht hätte ich doch vor der gestrigen Neu-Installation 
nicht die Registry manuell bereinigen sollen :-O ... aber egal, nach 
dem Einspielen des vorherigen Systemabbildes sind alle meine gestrigen 
Aktivitäten eh "Schnee von gestern".





-- Liste abmelden mit E-Mail an: users+unsubscr...@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



--
Liste abmelden mit E-Mail an: users+unsubscr...@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


Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-08 Diskussionsfäden Thomas Krumbein

Hallo Hans-Werner,

hab die Zeile auch mal auskommentiert - keine Änderung. Alles wie 
gewünscht.


Wenn es bei der 6er anders ist, bedarf es sicher intensiverer Tests und 
neue Strategien. Sorry, da kann ich dann jetzt auch nicht helfen.


VG

Thomas


Am 08.08.2018 um 19:52 schrieb OoOHWHOoO:

Hallo Thomas,

ja, so hätte ich das auch gern, aber leider ...

Was mir noch eingefallen ist:

Bis gestern hatte ich "LO 5.3.7.2 (x64)" installiert, und da trat 
dieser Effekt nicht auf.


Nach der gestrigen (Neu-) Installation von "6.0.6.2 (x64)" trat dieser 
Effekt das erste Mal auf. Natürlich habe ich einen Gegen-Test mit 
einer Parallel-Installation von "LO 5.3.7.2 (x64)" gemacht und da trat 
dieser Effekt auch auf. Das klingt zwar erst mal widersprüchlich zu 
meiner obigen Aussage, muss es aber nicht sein, da ich nicht weiß, ob 
die "LO 5.3.7.2 (x64)"-Parallel-Installation das selbe Build 
beinhaltet wie meine alte "LO 5.3.7.2 (x64)"-Installation.


Ich werde morgen mal mein vorheriges Windows-Systemabbild einspielen 
mit meiner alten "LO 5.3.7.2 (x64)"-Installation, und dann schaun mer 
mal ... vielleicht hätte ich doch vor der gestrigen Neu-Installation 
nicht die Registry manuell bereinigen sollen :-O ... aber egal, nach 
dem Einspielen des vorherigen Systemabbildes sind alle meine gestrigen 
Aktivitäten eh "Schnee von gestern".





--
Liste abmelden mit E-Mail an: users+unsubscr...@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


Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-08 Diskussionsfäden OoOHWHOoO

Hallo Thomas,

ja, so hätte ich das auch gern, aber leider ...

Was mir noch eingefallen ist:

Bis gestern hatte ich "LO 5.3.7.2 (x64)" installiert, und da trat dieser 
Effekt nicht auf.


Nach der gestrigen (Neu-) Installation von "6.0.6.2 (x64)" trat dieser 
Effekt das erste Mal auf. Natürlich habe ich einen Gegen-Test mit einer 
Parallel-Installation von "LO 5.3.7.2 (x64)" gemacht und da trat dieser 
Effekt auch auf. Das klingt zwar erst mal widersprüchlich zu meiner 
obigen Aussage, muss es aber nicht sein, da ich nicht weiß, ob die "LO 
5.3.7.2 (x64)"-Parallel-Installation das selbe Build beinhaltet wie 
meine alte "LO 5.3.7.2 (x64)"-Installation.


Ich werde morgen mal mein vorheriges Windows-Systemabbild einspielen mit 
meiner alten "LO 5.3.7.2 (x64)"-Installation, und dann schaun mer mal 
... vielleicht hätte ich doch vor der gestrigen Neu-Installation nicht 
die Registry manuell bereinigen sollen :-O ... aber egal, nach dem 
Einspielen des vorherigen Systemabbildes sind alle meine gestrigen 
Aktivitäten eh "Schnee von gestern".


Erst mal Danke für Deine Bemühungen,
Grüße
Hans-Werner :-))


-- Originalnachricht --
Von: "Thomas Krumbein" 
An: users@de.libreoffice.org
Gesendet: 08.08.2018 19:39:16
Betreff: Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung


Hei Hans-Werner,

sicher? hab dein Makro grad mal getestet...  und so sieht es bei mir 
auch:


http://prntscr.com/kgaoqb

Eigentlich wie Du es wolltest, oder?

VG

Thomas

Ach ja: Win 10, LO 5.3.1  64bit




Am 08.08.2018 um 19:14 schrieb OoOHWHOoO:

Hallo Thomas,

danke für Deinen Hinweis, hat aber leider nicht funktioniert.
Habe vor dem "setVisible" die Zeile »oTB.getCellByPosition(0,0).String 
= "Cursor"« eingefügt.
In "A1" steht auch "Cursor", aber der beschrieben Effekt ist noch 
immer vorhanden.


Gruß
Hans-Werner


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"
oD.getCurrentController().getFrame().getContainerWindow().setVisible(True)
oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub


-- Originalnachricht --
Von: "Thomas Krumbein" 
An: users@de.libreoffice.org
Gesendet: 08.08.2018 18:54:37
Betreff: Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung


Hallo Hans-Werner,

ohne es zu testen:

ein "hidden" geladenes Dokument hat zunächst keinen eigenen 
View-Controller. Der wird erst erzeugt, wenn es "visible" gestellt 
wird. Dann wird die aktive Zelle als Startzelle genommen. Die ist bei 
Dir E1 - also ist das die linke obere Ecke.  Aktiv deswegen, weil Du 
dort die letzte Eingabe gemacht hast.


Das "Select" anschliessend hat damit gar nicht zu tun.

Wähle lieber vorher die Zelle A1 - setzte dann das Sheet visible uns 
selektiere anschliessend die gewünschte Zelle.


Dann sollte es passen.

VG

Thomas



Am 08.08.2018 um 18:38 schrieb OoOHWHOoO:

Hallo,

folgendes kleines Problem im Kontext von BASIC-Makro @ CALC:

[1] Ein Standard ODS-Dokument wird geladen.
[2] Im "Hidden"-Modus wird ein Tabellenblatt beschrieben.
[3] Das Tabellenblatt wird sichtbar gemacht.
[4] Der Cursor wird auf die letzte Spalte der Zeile positioniert.
[5] Die befüllten Spalten belegen gerade mal die halbe Seitenbreite 
der CALC-Tabelle-Ansicht bei 100%-Zoom.


Funktioniert alles bestens, bis auf einen kleinen Schönheitsfehler:

Durch das Positionieren des Cursors wird die horizontale ScrollBar 
aktiviert, so dass alle Spalten nach links verschoben werden und nur 
die Zelle mit Eintrag "E" sichtbar ist.
Gibt es eine Möglichkeit, dieses (automatische) Verschieben der 
Zellen nach links zu unterbinden ?
Habe ich gegebenenfalls zur Cursor-Positionierung ein falsches 
Sprachkonstrukt genutzt ?


Arbeitet man nicht im "Hidden"-Modus, sondern im "Visible"-Modus mit 
"ThisComponent, tritt dieser Effekt nicht auf.


Anbei zwei Makros

+ Sub SetCursor_loadComponent =>"Hidden"-Modus-Beispiel
+ Sub SetCursor_ThisComponent => "Visible"-Modus-Beispiel

zum Nachvollziehen.

Hat jemand eine Idee, wo das Problem liegen und wie man es lösen 
könnte ?


Danke schon mal im Voraus,
Gruß
Hans-Werner ;-))


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

Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-08 Diskussionsfäden Thomas Krumbein

Hei Hans-Werner,

sicher? hab dein Makro grad mal getestet...  und so sieht es bei mir auch:

http://prntscr.com/kgaoqb

Eigentlich wie Du es wolltest, oder?

VG

Thomas

Ach ja: Win 10, LO 5.3.1  64bit




Am 08.08.2018 um 19:14 schrieb OoOHWHOoO:

Hallo Thomas,

danke für Deinen Hinweis, hat aber leider nicht funktioniert.
Habe vor dem "setVisible" die Zeile »oTB.getCellByPosition(0,0).String 
= "Cursor"« eingefügt.
In "A1" steht auch "Cursor", aber der beschrieben Effekt ist noch 
immer vorhanden.


Gruß
Hans-Werner


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"
oD.getCurrentController().getFrame().getContainerWindow().setVisible(True) 


oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub


-- Originalnachricht ------
Von: "Thomas Krumbein" 
An: users@de.libreoffice.org
Gesendet: 08.08.2018 18:54:37
Betreff: Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung


Hallo Hans-Werner,

ohne es zu testen:

ein "hidden" geladenes Dokument hat zunächst keinen eigenen 
View-Controller. Der wird erst erzeugt, wenn es "visible" gestellt 
wird. Dann wird die aktive Zelle als Startzelle genommen. Die ist bei 
Dir E1 - also ist das die linke obere Ecke.  Aktiv deswegen, weil Du 
dort die letzte Eingabe gemacht hast.


Das "Select" anschliessend hat damit gar nicht zu tun.

Wähle lieber vorher die Zelle A1 - setzte dann das Sheet visible uns 
selektiere anschliessend die gewünschte Zelle.


Dann sollte es passen.

VG

Thomas



Am 08.08.2018 um 18:38 schrieb OoOHWHOoO:

Hallo,

folgendes kleines Problem im Kontext von BASIC-Makro @ CALC:

[1] Ein Standard ODS-Dokument wird geladen.
[2] Im "Hidden"-Modus wird ein Tabellenblatt beschrieben.
[3] Das Tabellenblatt wird sichtbar gemacht.
[4] Der Cursor wird auf die letzte Spalte der Zeile positioniert.
[5] Die befüllten Spalten belegen gerade mal die halbe Seitenbreite 
der CALC-Tabelle-Ansicht bei 100%-Zoom.


Funktioniert alles bestens, bis auf einen kleinen Schönheitsfehler:

Durch das Positionieren des Cursors wird die horizontale ScrollBar 
aktiviert, so dass alle Spalten nach links verschoben werden und nur 
die Zelle mit Eintrag "E" sichtbar ist.
Gibt es eine Möglichkeit, dieses (automatische) Verschieben der 
Zellen nach links zu unterbinden ?
Habe ich gegebenenfalls zur Cursor-Positionierung ein falsches 
Sprachkonstrukt genutzt ?


Arbeitet man nicht im "Hidden"-Modus, sondern im "Visible"-Modus mit 
"ThisComponent, tritt dieser Effekt nicht auf.


Anbei zwei Makros

+ Sub SetCursor_loadComponent =>"Hidden"-Modus-Beispiel
+ Sub SetCursor_ThisComponent => "Visible"-Modus-Beispiel

zum Nachvollziehen.

Hat jemand eine Idee, wo das Problem liegen und wie man es lösen 
könnte ?


Danke schon mal im Voraus,
Gruß
Hans-Werner ;-))


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
oD.getCurrentController().getFrame().getContainerWindow().setVisible(True) 


oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub


Sub SetCursor_ThisComponent

Dim oD as Object
Dim oTB  as Object
Dim aB() as String
Dim X  as Integer

aB = Array("A","B","C","D","E")

oD = ThisComponent
oTB = oD.sheets(0)
For X=0 To UBound(aB) Step 1
oTB.getCellByPosition(X,0).String = aB(X)
Next X
oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub







-- Liste abmelden mit E-Mail an: users+unsubscr...@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






--
Liste abmelden mit E-Mail an: users+unsubscr...@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


Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-08 Diskussionsfäden OoOHWHOoO

Hallo Thomas,

danke für Deinen Hinweis, hat aber leider nicht funktioniert.
Habe vor dem "setVisible" die Zeile »oTB.getCellByPosition(0,0).String = 
"Cursor"« eingefügt.
In "A1" steht auch "Cursor", aber der beschrieben Effekt ist noch immer 
vorhanden.


Gruß
Hans-Werner


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"
oD.getCurrentController().getFrame().getContainerWindow().setVisible(True)
oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub


-- Originalnachricht ------
Von: "Thomas Krumbein" 
An: users@de.libreoffice.org
Gesendet: 08.08.2018 18:54:37
Betreff: Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung


Hallo Hans-Werner,

ohne es zu testen:

ein "hidden" geladenes Dokument hat zunächst keinen eigenen 
View-Controller. Der wird erst erzeugt, wenn es "visible" gestellt 
wird. Dann wird die aktive Zelle als Startzelle genommen. Die ist bei 
Dir E1 - also ist das die linke obere Ecke.  Aktiv deswegen, weil Du 
dort die letzte Eingabe gemacht hast.


Das "Select" anschliessend hat damit gar nicht zu tun.

Wähle lieber vorher die Zelle A1 - setzte dann das Sheet visible uns 
selektiere anschliessend die gewünschte Zelle.


Dann sollte es passen.

VG

Thomas



Am 08.08.2018 um 18:38 schrieb OoOHWHOoO:

Hallo,

folgendes kleines Problem im Kontext von BASIC-Makro @ CALC:

[1] Ein Standard ODS-Dokument wird geladen.
[2] Im "Hidden"-Modus wird ein Tabellenblatt beschrieben.
[3] Das Tabellenblatt wird sichtbar gemacht.
[4] Der Cursor wird auf die letzte Spalte der Zeile positioniert.
[5] Die befüllten Spalten belegen gerade mal die halbe Seitenbreite 
der CALC-Tabelle-Ansicht bei 100%-Zoom.


Funktioniert alles bestens, bis auf einen kleinen Schönheitsfehler:

Durch das Positionieren des Cursors wird die horizontale ScrollBar 
aktiviert, so dass alle Spalten nach links verschoben werden und nur 
die Zelle mit Eintrag "E" sichtbar ist.
Gibt es eine Möglichkeit, dieses (automatische) Verschieben der Zellen 
nach links zu unterbinden ?
Habe ich gegebenenfalls zur Cursor-Positionierung ein falsches 
Sprachkonstrukt genutzt ?


Arbeitet man nicht im "Hidden"-Modus, sondern im "Visible"-Modus mit 
"ThisComponent, tritt dieser Effekt nicht auf.


Anbei zwei Makros

+ Sub SetCursor_loadComponent =>"Hidden"-Modus-Beispiel
+ Sub SetCursor_ThisComponent => "Visible"-Modus-Beispiel

zum Nachvollziehen.

Hat jemand eine Idee, wo das Problem liegen und wie man es lösen 
könnte ?


Danke schon mal im Voraus,
Gruß
Hans-Werner ;-))


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
oD.getCurrentController().getFrame().getContainerWindow().setVisible(True)
oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub


Sub SetCursor_ThisComponent

Dim oD as Object
Dim oTB  as Object
Dim aB() as String
Dim X  as Integer

aB = Array("A","B","C","D","E")

oD = ThisComponent
oTB = oD.sheets(0)
For X=0 To UBound(aB) Step 1
oTB.getCellByPosition(X,0).String = aB(X)
Next X
oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub







-- Liste abmelden mit E-Mail an: users+unsubscr...@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



--
Liste abmelden mit E-Mail an: users+unsubscr...@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


Re: [de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-08 Diskussionsfäden Thomas Krumbein

Hallo Hans-Werner,

ohne es zu testen:

ein "hidden" geladenes Dokument hat zunächst keinen eigenen 
View-Controller. Der wird erst erzeugt, wenn es "visible" gestellt wird. 
Dann wird die aktive Zelle als Startzelle genommen. Die ist bei Dir E1 - 
also ist das die linke obere Ecke.  Aktiv deswegen, weil Du dort die 
letzte Eingabe gemacht hast.


Das "Select" anschliessend hat damit gar nicht zu tun.

Wähle lieber vorher die Zelle A1 - setzte dann das Sheet visible uns 
selektiere anschliessend die gewünschte Zelle.


Dann sollte es passen.

VG

Thomas



Am 08.08.2018 um 18:38 schrieb OoOHWHOoO:

Hallo,

folgendes kleines Problem im Kontext von BASIC-Makro @ CALC:

[1] Ein Standard ODS-Dokument wird geladen.
[2] Im "Hidden"-Modus wird ein Tabellenblatt beschrieben.
[3] Das Tabellenblatt wird sichtbar gemacht.
[4] Der Cursor wird auf die letzte Spalte der Zeile positioniert.
[5] Die befüllten Spalten belegen gerade mal die halbe Seitenbreite 
der CALC-Tabelle-Ansicht bei 100%-Zoom.


Funktioniert alles bestens, bis auf einen kleinen Schönheitsfehler:

Durch das Positionieren des Cursors wird die horizontale ScrollBar 
aktiviert, so dass alle Spalten nach links verschoben werden und nur 
die Zelle mit Eintrag "E" sichtbar ist.
Gibt es eine Möglichkeit, dieses (automatische) Verschieben der Zellen 
nach links zu unterbinden ?
Habe ich gegebenenfalls zur Cursor-Positionierung ein falsches 
Sprachkonstrukt genutzt ?


Arbeitet man nicht im "Hidden"-Modus, sondern im "Visible"-Modus mit 
"ThisComponent, tritt dieser Effekt nicht auf.


Anbei zwei Makros

+ Sub SetCursor_loadComponent =>"Hidden"-Modus-Beispiel
+ Sub SetCursor_ThisComponent => "Visible"-Modus-Beispiel

zum Nachvollziehen.

Hat jemand eine Idee, wo das Problem liegen und wie man es lösen könnte ?

Danke schon mal im Voraus,
Gruß
Hans-Werner ;-))


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
oD.getCurrentController().getFrame().getContainerWindow().setVisible(True) 


oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub


Sub SetCursor_ThisComponent

Dim oD as Object
Dim oTB  as Object
Dim aB() as String
Dim X  as Integer

aB = Array("A","B","C","D","E")

oD = ThisComponent
oTB = oD.sheets(0)
For X=0 To UBound(aB) Step 1
oTB.getCellByPosition(X,0).String = aB(X)
Next X
oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub







--
Liste abmelden mit E-Mail an: users+unsubscr...@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


[de-users] BASIC-Makro @ CALC - Cursor-Positionierung

2018-08-08 Diskussionsfäden OoOHWHOoO

Hallo,

folgendes kleines Problem im Kontext von BASIC-Makro @ CALC:

[1] Ein Standard ODS-Dokument wird geladen.
[2] Im "Hidden"-Modus wird ein Tabellenblatt beschrieben.
[3] Das Tabellenblatt wird sichtbar gemacht.
[4] Der Cursor wird auf die letzte Spalte der Zeile positioniert.
[5] Die befüllten Spalten belegen gerade mal die halbe Seitenbreite der 
CALC-Tabelle-Ansicht bei 100%-Zoom.


Funktioniert alles bestens, bis auf einen kleinen Schönheitsfehler:

Durch das Positionieren des Cursors wird die horizontale ScrollBar 
aktiviert, so dass alle Spalten nach links verschoben werden und nur die 
Zelle mit Eintrag "E" sichtbar ist.
Gibt es eine Möglichkeit, dieses (automatische) Verschieben der Zellen 
nach links zu unterbinden ?
Habe ich gegebenenfalls zur Cursor-Positionierung ein falsches 
Sprachkonstrukt genutzt ?


Arbeitet man nicht im "Hidden"-Modus, sondern im "Visible"-Modus mit 
"ThisComponent, tritt dieser Effekt nicht auf.


Anbei zwei Makros

+ Sub SetCursor_loadComponent =>"Hidden"-Modus-Beispiel
+ Sub SetCursor_ThisComponent => "Visible"-Modus-Beispiel

zum Nachvollziehen.

Hat jemand eine Idee, wo das Problem liegen und wie man es lösen könnte 
?


Danke schon mal im Voraus,
Gruß
Hans-Werner ;-))


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
oD.getCurrentController().getFrame().getContainerWindow().setVisible(True)
oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub


Sub SetCursor_ThisComponent

Dim oD as Object
Dim oTB  as Object
Dim aB() as String
Dim X  as Integer

aB = Array("A","B","C","D","E")

oD = ThisComponent
oTB = oD.sheets(0)
For X=0 To UBound(aB) Step 1
oTB.getCellByPosition(X,0).String = aB(X)
Next X
oD.CurrentController.Select(oTB.getCellByPosition(4,0))

End Sub




--
Liste abmelden mit E-Mail an: users+unsubscr...@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