🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Speichern - Fortschrittsbalken
-
- Beiträge: 54
- Registriert: Do 16. Jun 2011, 16:08
Speichern - Fortschrittsbalken
Hallo!
Im Lernprozess begriffen, dass aufgezeichnete Makors (Schlagwort Dispatcher) nicht das Gelbe vom Ei sind, habe ich ein Makro erstellt mit dem ich ausnutze, dass ein Speichen in Writer quasi ein Lesezeichen ablegt weil das Dokument an der Stelle der letzten Änderung wieder geöffnet wird.
Ein aufgezeichnetes Makro reagiert wie der Menübefehl und löst den Fortschrittsbalken aus. Da mein Dokument umfangreich ist und wegen des Komprimierens ein Speichern sehr lange dauert ist diese Information sehr nützlich. Bemühe ich nun aber .Store() passiert das Speichern im Hintergrund und ich muss raten wann ich weitermachen kann (oder eben auch nach getaner Arbeit samt Lesezeichen Writer schließen).
Gibt es Tricks doch den Fortschrittsbalken zu erzwingen oder andere Workarounds eine dezente Information auszugeben, dass das Speichern geendet hat? Beep muss nicht sein und Print schließe ich aus da ich kein OK klicken will.
Eric March
Im Lernprozess begriffen, dass aufgezeichnete Makors (Schlagwort Dispatcher) nicht das Gelbe vom Ei sind, habe ich ein Makro erstellt mit dem ich ausnutze, dass ein Speichen in Writer quasi ein Lesezeichen ablegt weil das Dokument an der Stelle der letzten Änderung wieder geöffnet wird.
Ein aufgezeichnetes Makro reagiert wie der Menübefehl und löst den Fortschrittsbalken aus. Da mein Dokument umfangreich ist und wegen des Komprimierens ein Speichern sehr lange dauert ist diese Information sehr nützlich. Bemühe ich nun aber .Store() passiert das Speichern im Hintergrund und ich muss raten wann ich weitermachen kann (oder eben auch nach getaner Arbeit samt Lesezeichen Writer schließen).
Gibt es Tricks doch den Fortschrittsbalken zu erzwingen oder andere Workarounds eine dezente Information auszugeben, dass das Speichern geendet hat? Beep muss nicht sein und Print schließe ich aus da ich kein OK klicken will.
Eric March
Re: Speichern - Fortschrittsbalken
Pack's in die Statusleiste:
Code: Alles auswählen
oFrame = StarDesktop.getCurrentFrame()
statusIndicator = oFrame.createStatusIndicator()
statusIndicator.end() '<=beendet die Anzeige, falls eine da ist...
statusIndicator.start("Hier Dein IchFangJetztAn-Text", 0) '<=setzt einen Text in die Statusleiste
... Makroablauf, Speichern oder was auch immer ...
statusIndicator.start("Hier Dein IstBeendet-Text", 0)
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
- Beiträge: 54
- Registriert: Do 16. Jun 2011, 16:08
Re: Speichern - Fortschrittsbalken
Hallo gogo,
das hilft mir schon mal weiter.
Allerdings bin ich nun um so überraschter. Diese Statusleiste die ich da sehe sieht irgendwie wie der normale Speichern-Fortschrittsbalken aus, außer dass dieser nicht gezeichnet wird. Da juckt es glatt in den Fingern rauszufinden ob man da nicht was drehen kann.
Aber eine logische Frage hätte ich. Die Sequenz…
…müsste doch durch das zurückschalten auf die ›Normalansicht‹ Signal genug sein, dass das Speichern durch ist; vergleichbar mit VBA Application.Statusbar="Text" … … … Application.Statusbar=False wobei das .end() ja dem False entsprechen müsste? Oder muss man den StatusIndicator anderweitig zurücksetzen?
Und eine Zusatzfrage:
Vielleicht ist im Moment irgendwas »verklemmt«. Ich denke du kennst den Effekt (oder sagen wir: das Feature), dass man den Cursor an einem Punkt festpinnen kann um mit den Cursortasten von da aus zu markieren ohne Shift benutzen zu müssen. Wie gesagt hält .Store() den Ort der letzten Änderung fest. Das will ich direkt ausnutzen:
Dies sollte also nichts tolleres bewirken als die Startmeldung zu geben, den Cursor nach Pos1 zu bringen (möchte halt beim Wiedereinstieg den Kameraden vorn in der Zeile haben), nun mit Leerzeichen und dessen Entfernen eine Änderung zu bewirken, zu speichern und die Startmeldung komplett zurückzuziehen.
Irgendwie scheint hier der Cursor vorn wie Beschreiben festzuklemmen; klicke ich in die Zeile ist von vorne bis da hin alles markiert. Falls das hier nur ein Unfall ist können wir den Fall freilich vergessen.
Vom Cursorsprung abgesehen, gibt es eine elegantere Möglichkeit dort (da ist natürlich das Ziel) die Änderung auszuführen?
Eric March
das hilft mir schon mal weiter.
Allerdings bin ich nun um so überraschter. Diese Statusleiste die ich da sehe sieht irgendwie wie der normale Speichern-Fortschrittsbalken aus, außer dass dieser nicht gezeichnet wird. Da juckt es glatt in den Fingern rauszufinden ob man da nicht was drehen kann.
Aber eine logische Frage hätte ich. Die Sequenz…
Code: Alles auswählen
statusIndicator.end()
statusIndicator.start("Startzeichen", 0) 'Was bewirkt die Null?
... Makroablauf, Speichern oder was auch immer ...
statusIndicator.end()
Und eine Zusatzfrage:
Vielleicht ist im Moment irgendwas »verklemmt«. Ich denke du kennst den Effekt (oder sagen wir: das Feature), dass man den Cursor an einem Punkt festpinnen kann um mit den Cursortasten von da aus zu markieren ohne Shift benutzen zu müssen. Wie gesagt hält .Store() den Ort der letzten Änderung fest. Das will ich direkt ausnutzen:
Code: Alles auswählen
Public Sub SpeichernUndPOS1
rem Konkret: POS1, Space, BackSpase, Save - um Position im Text festzuschreiben
rem (wenigsten war das mal die Idee ;-) )
Dim MeinViewCursor As Object
Dim Dokument As Object
Dim Rahmen As Object
Dim StatusIndicator as Object
Dokument = ThisComponent
Rahmen = StarDesktop.GetCurrentFrame()
StatusIndicator = Rahmen.CreateStatusIndicator()
StatusIndicator.End()
StatusIndicator.Start("Lesezeichen sichern", 0)
MeinViewCursor = Dokument.GetCurrentController.ViewCursor
MeinViewCursor.GotoStartOfLine(0,False)
MeinViewCursor.String=" "
MeinViewCursor.String=""
Dokument.Store(0)
StatusIndicator.End()
End Sub
Irgendwie scheint hier der Cursor vorn wie Beschreiben festzuklemmen; klicke ich in die Zeile ist von vorne bis da hin alles markiert. Falls das hier nur ein Unfall ist können wir den Fall freilich vergessen.
Vom Cursorsprung abgesehen, gibt es eine elegantere Möglichkeit dort (da ist natürlich das Ziel) die Änderung auszuführen?
Eric March
Re: Speichern - Fortschrittsbalken
Zm Fortschrittsbalken und zur ominösen "0":
Zur Zusatzfrage kann ich Dir leider nichts antworten - im Writer bin ich nicht so wirklich sattelfest - abgesehen davon wie man mit Formularen arbeitet 
Code: Alles auswählen
Sub StatusindikatorMitFortschrittsbalken
oFrame = StarDesktop.getCurrentFrame()
statusIndicator = oFrame.createStatusIndicator()
statusIndicator.end()
statusIndicator.start("Hier Dein IchFangJetztAn-Text", 10)
for a= 0 to 10
statusIndicator.setvalue(a)
print a
next a
statusIndicator.start("Hier Dein IstBeendet-Text", 0)
End Sub

g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
- Beiträge: 54
- Registriert: Do 16. Jun 2011, 16:08
Re: Speichern - Fortschrittsbalken
…immer diese Nachtarbeiter
OK, also kann ich das mit dem Fortschrittsbalken knicken weil ich selbst die ›Prozente‹ laufend einsetzen müsste, und das kann wohl nur die Speicherroutine selbst über Systemfunktionen.
Naja, ein voller oder leerer Balken ist schon EyeCatcher genug, da lässt sich schon was machen mit!
Aber mal nachgefragt: «statusIndicator.end()» sollte die Statuszeile zurücksetzen (auf Normal - ?!) / intialisieren. Das tut bei mir aber nichts. Ich brauche also einen funktionierenden Kollegen von «Application.Statusbar=False» der wieder den normalen Anzeigezustand einrichtet.
Eric March

OK, also kann ich das mit dem Fortschrittsbalken knicken weil ich selbst die ›Prozente‹ laufend einsetzen müsste, und das kann wohl nur die Speicherroutine selbst über Systemfunktionen.
Naja, ein voller oder leerer Balken ist schon EyeCatcher genug, da lässt sich schon was machen mit!

Aber mal nachgefragt: «statusIndicator.end()» sollte die Statuszeile zurücksetzen (auf Normal - ?!) / intialisieren. Das tut bei mir aber nichts. Ich brauche also einen funktionierenden Kollegen von «Application.Statusbar=False» der wieder den normalen Anzeigezustand einrichtet.
Eric March
Re: Speichern - Fortschrittsbalken
Tja - da haben wir wieder so eine Sache. Der korrekte Befehl für ein Reset der Statuszeile lautet:
... aber das ist nur die halbe Wahrheit - die Statustzeile wird zwar gecleant, aber nachher bleibt sie ... leer.
Dass das Reset funktioniert hat kannst Du daran erkennen, dass ein Linksklick dorthin wo normalerweise Funktionen zu finden sind (Rechtschreibung, Formatvorlagen etc.) das richtige Kontextmenü aufruft ... trotzdem ist das natürlich nicht wirklich sophisticated.
Stabil hat bei meinen Systemen nur die Abfolge von 4 Befehlen funktioniert, wobei Du vor allem bei "layoutmanager.reset" vorsichtig sein solltest - tritt hier zur falschen Zeit ein Fehler auf, dann stehst Du ohne User-Interface da. Und ob der .layoutmanager.dolayout immer ganz so funktioniert wie man das haben will ist natürlich auch eher ein Wunsch - trotzdem einen Versuch ist's wert, und instabil scheint mir das Ganze auch nicht zu sein!
Code: Alles auswählen
statusIndicator.end
Dass das Reset funktioniert hat kannst Du daran erkennen, dass ein Linksklick dorthin wo normalerweise Funktionen zu finden sind (Rechtschreibung, Formatvorlagen etc.) das richtige Kontextmenü aufruft ... trotzdem ist das natürlich nicht wirklich sophisticated.
Stabil hat bei meinen Systemen nur die Abfolge von 4 Befehlen funktioniert, wobei Du vor allem bei "layoutmanager.reset" vorsichtig sein solltest - tritt hier zur falschen Zeit ein Fehler auf, dann stehst Du ohne User-Interface da. Und ob der .layoutmanager.dolayout immer ganz so funktioniert wie man das haben will ist natürlich auch eher ein Wunsch - trotzdem einen Versuch ist's wert, und instabil scheint mir das Ganze auch nicht zu sein!
Code: Alles auswählen
Sub StatusindikatorMitReset
oFrame = StarDesktop.getCurrentFrame()
statusIndicator = oFrame.createStatusIndicator()
statusIndicator.start("Hier Dein IchFangJetztAn-Text", 0)
print "Statuszeile geändert!"
statusIndicator.start("Hier Dein IstBeendet-Text", 0)
'Reset der Statuszeile:
statusIndicator.reset
statusIndicator.end
oFrame.layoutmanager.reset
oFrame.layoutmanager.dolayout
End Sub
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
- Beiträge: 54
- Registriert: Do 16. Jun 2011, 16:08
Re: Speichern - Fortschrittsbalken
Habs gelesen, habe aber im Moment anderen Ärger mit unserem IIS.
Eric March
Eric March
Re: Speichern - Fortschrittsbalken
Internes Informations System???Eric March hat geschrieben: ...IIS...
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
- Beiträge: 54
- Registriert: Do 16. Jun 2011, 16:08
Re: Speichern - Fortschrittsbalken
Viel schlimmer: MS Internet Information Service 
ISS wäre mir lieber. Hab keine Ahnung was da mal wieder vom Provider wo das Ding läuft verbockt wurde, jedenfalls hat das Ding wieder mal genug Zeit und Nerven verbraucht.
Zum Makro: Das klappt nicht so wie ich's gern hätte. Es bleibt immer der Balken (ob gefüllt oder leer) mit seinem Text übrig wenn er irgendwie mal mit Murks gefüllt wurde. Beim Testen ist das «Hier Dein IchFangJetztAn-Text».
Gibt es eine andere Idee wie ich erreiche, dass mir der Speicherbeginn gemeldet wird und eine Bestätigung seien Endes erfolgt die zu wiederum ihrem Beenden keinen Eingriff meinerseits erfordert? Auch das Verschwinden eines „Ich speicher’ jetzt!“ (so wie es ja der Fortschrittsbalken macht) würde diese Forderung erfüllen.
Eric March

ISS wäre mir lieber. Hab keine Ahnung was da mal wieder vom Provider wo das Ding läuft verbockt wurde, jedenfalls hat das Ding wieder mal genug Zeit und Nerven verbraucht.
Zum Makro: Das klappt nicht so wie ich's gern hätte. Es bleibt immer der Balken (ob gefüllt oder leer) mit seinem Text übrig wenn er irgendwie mal mit Murks gefüllt wurde. Beim Testen ist das «Hier Dein IchFangJetztAn-Text».
Gibt es eine andere Idee wie ich erreiche, dass mir der Speicherbeginn gemeldet wird und eine Bestätigung seien Endes erfolgt die zu wiederum ihrem Beenden keinen Eingriff meinerseits erfordert? Auch das Verschwinden eines „Ich speicher’ jetzt!“ (so wie es ja der Fortschrittsbalken macht) würde diese Forderung erfüllen.
Eric March
Re: Speichern - Fortschrittsbalken
Die Anweisung
Sollten die Statuszeile leerräumen - machen sie auch bei mir. Ein anderer Weg wäre die Titelleiste, muss aber über zwei Public oder Global-Variablen gesteuert werden:
Code: Alles auswählen
statusIndicator.reset
statusIndicator.end
Code: Alles auswählen
global gsFrametitle as String
global goFrame as object
Sub Speichern_Start '<=== mit dem Ereignis "Dokument sichern" (Extras/Anpassen) des Writerdokumentes verknüpfen
goFrame = StarDesktop.getCurrentFrame
gsFrametitle = goFrame.title
goFrame.title = "SPEICHERE JETZT!!!"
end sub
Sub Speichern_Ende '<=== mit dem Ereignis "Dokument wurde gesichert" (Extras/Anpassen) des Writerdokumentes verknüpfen
goFrame.title=gsFrametitle
End Sub
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.