"Werte hervorheben" ausschalten
Moderator: Moderatoren
"Werte hervorheben" ausschalten
Hallo zusammen,
ich habe standardmäßig in Calc "Werte hervorheben" aktiviert (Extras/Optionen/Tabellendokument/Ansicht).
Bei einem Tabellendokument soll dies nicht der Fall sein. Ich möchte deshalb dem Ereignis "Dokument öffnen" ein Makro zuweisen, welches "Werte hervorheben" ausschaltet. Mit dem Makrorekorder habe ich dies auch aufgezeichnet bekommen:
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ViewValueHighlighting"
args1(0).Value = false
dispatcher.executeDispatch(document, ".uno:ViewValueHighlighting", "", 0, args1())
Wie geht das in "normalem Code" ? Ich habe bei Dannenhöfer und hier im Forum geschmökert, bin allerdings nicht fündig geworden.
Vielen Dank schon einmal vorweg.
Gruß
WN
ich habe standardmäßig in Calc "Werte hervorheben" aktiviert (Extras/Optionen/Tabellendokument/Ansicht).
Bei einem Tabellendokument soll dies nicht der Fall sein. Ich möchte deshalb dem Ereignis "Dokument öffnen" ein Makro zuweisen, welches "Werte hervorheben" ausschaltet. Mit dem Makrorekorder habe ich dies auch aufgezeichnet bekommen:
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ViewValueHighlighting"
args1(0).Value = false
dispatcher.executeDispatch(document, ".uno:ViewValueHighlighting", "", 0, args1())
Wie geht das in "normalem Code" ? Ich habe bei Dannenhöfer und hier im Forum geschmökert, bin allerdings nicht fündig geworden.
Vielen Dank schon einmal vorweg.
Gruß
WN
Hallo Stephan,
ehrlich gesagt, habe ich Schwierigkeiten, den Dispatchercode zu verstehen.
Bei normalem Code bilde ich mir zumindest ein, diesen allmählich etwas zu verstehen.
Ich dachte, es gibt vielleicht eine Möglichkeit ähnlich der, den Dokumentenschutz bei Tabellen aufzuheben (isprotected/protect/ unprotected), was handlicher wäre.
Aber wenn es mit "normalem" Code nicht geht:
Gibt es eine Möglichkeit abzufragen, ob "Werte hervorheben" eingeschaltet ist und dieses dann mit dem Dispatchecode auszuschalten ? Wie müsste eine solche Bedingung aufgebaut sein ?
Gruß
WN
ehrlich gesagt, habe ich Schwierigkeiten, den Dispatchercode zu verstehen.
Bei normalem Code bilde ich mir zumindest ein, diesen allmählich etwas zu verstehen.
Ich dachte, es gibt vielleicht eine Möglichkeit ähnlich der, den Dokumentenschutz bei Tabellen aufzuheben (isprotected/protect/ unprotected), was handlicher wäre.
Aber wenn es mit "normalem" Code nicht geht:
Gibt es eine Möglichkeit abzufragen, ob "Werte hervorheben" eingeschaltet ist und dieses dann mit dem Dispatchecode auszuschalten ? Wie müsste eine solche Bedingung aufgebaut sein ?
Gruß
WN
Da gibt es doch nichts zu verstehen, es gibt eine Hanvoll dispatch-Befehle und das wars eigentlich schon:ehrlich gesagt, habe ich Schwierigkeiten, den Dispatchercode zu verstehen.
http://www.openoffice.org/files/documen ... rence.html
Aber wenn es mit "normalem" Code nicht geht:
Das habe ich ja nicht gesagt, ich sprach von "möglicherweise" und mehr weiß ich dazu auch nicht.
Im Prinzip müßtest Du erst einmal feststellen ob es im Dokument (mutmaßlich in Settings.xml) einen korrespondierenden Eintrag gibt und wenn ja wie der heißt um dann in der IDL-referenz festzustellen wie/wo dieser anzusprechen wäre.
(genau das der Grund meines "möglicherweise", da ich vor einiger Zeit auf einen Eintrag in Settings.xml stieß, der mit deinem Problem nichts zu tun hat, der aber theoretisch laut IDL-Referenz ansprechbar sein sollte, ich habe es nur praktisch nicht hinbekommen)
Gruß
Stephan
Hallo Stephan,
eine handvoll ist gut (die Hand ist wirklich voll). Das Problem ist, dass ich den Aufbau nicht verstehe.
Zum zweiten Teil Deiner Antwort: ich habe in der Settings.xml gesucht, aber nichts brauchbares gefunden. Auch habe ich ein Tabellendokument kopiert, und einmal einmal mit "Werte hervorheben" abgespeichert und einmal ohne. Nur die Datei content.xml hatte eine andere Größe. Aber die Unterschiede konnte ich auf die schnelle nicht ausmachen.
Der Rest Deiner Antwort waren für mich böhmische Dörfer.
Aber trotzdem vielen Dank für Deine Mühe.
Gruß
WN
eine handvoll ist gut (die Hand ist wirklich voll). Das Problem ist, dass ich den Aufbau nicht verstehe.
Zum zweiten Teil Deiner Antwort: ich habe in der Settings.xml gesucht, aber nichts brauchbares gefunden. Auch habe ich ein Tabellendokument kopiert, und einmal einmal mit "Werte hervorheben" abgespeichert und einmal ohne. Nur die Datei content.xml hatte eine andere Größe. Aber die Unterschiede konnte ich auf die schnelle nicht ausmachen.
Der Rest Deiner Antwort waren für mich böhmische Dörfer.
Aber trotzdem vielen Dank für Deine Mühe.
Gruß
WN
Hi WN,
Wenn Du zwei Dateien miteinander vergleichen möchtest dann kann ich Dir
das Freeware-Programm WinMerge empfehlen.
Hier gehts zur Homepage von WinMerge: http://winmerge.org/
So wie content.xml jetzt noch formatiert ist kannst Du diese noch nicht mit
mit dem Programm vergleichen. Die Dateien müssen noch etwas modifiziert werden.
Die Datei content.xml hast Du ja in der "normalen" und dann in der geänderten
Version vorliegen.
Öffne die erste Datei mit OOo Writer.
Klicke Menue >Bearbeiten > Suchen und Ersetzen
Bei Suche gibst Du " (Anführungszeichen) ein.
Bei Ersetzen gibst Du "\n" (incl. der Anführungszeichen!!!) ein.
Unten Links "Mehr Optionen" "Regulärer Ausdruck" Haken setzen.
Dann auf "ersetzen Alle" klicken.
Jetzt dauert es ein wenig.
Wenn Writer fertig ist die Datei unter gleichem Namen abspeichern.
Weiderhole das ganze mit der zweiten Datei.
Jetzt kannst Du die Dateien mit WinMerge vergleichen.
Das Programm ist eigentlich selbsterklärend.
Wenn Du die beiden Dateien unter Datei öffnen ausgewählt hast und
anschließend die Dateien angezeigt werden sind die Abweichungen mit
gelben Linien markiert.
Viel Erfolg.
Jürgen
Wenn Du zwei Dateien miteinander vergleichen möchtest dann kann ich Dir
das Freeware-Programm WinMerge empfehlen.
Hier gehts zur Homepage von WinMerge: http://winmerge.org/
So wie content.xml jetzt noch formatiert ist kannst Du diese noch nicht mit
mit dem Programm vergleichen. Die Dateien müssen noch etwas modifiziert werden.
Die Datei content.xml hast Du ja in der "normalen" und dann in der geänderten
Version vorliegen.
Öffne die erste Datei mit OOo Writer.
Klicke Menue >Bearbeiten > Suchen und Ersetzen
Bei Suche gibst Du " (Anführungszeichen) ein.
Bei Ersetzen gibst Du "\n" (incl. der Anführungszeichen!!!) ein.
Unten Links "Mehr Optionen" "Regulärer Ausdruck" Haken setzen.
Dann auf "ersetzen Alle" klicken.
Jetzt dauert es ein wenig.
Wenn Writer fertig ist die Datei unter gleichem Namen abspeichern.
Weiderhole das ganze mit der zweiten Datei.
Jetzt kannst Du die Dateien mit WinMerge vergleichen.
Das Programm ist eigentlich selbsterklärend.
Wenn Du die beiden Dateien unter Datei öffnen ausgewählt hast und
anschließend die Dateien angezeigt werden sind die Abweichungen mit
gelben Linien markiert.
Viel Erfolg.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Hallo Jürgen,
der Dateienvergleich mit WinMerge hat funktioniert. Vielen Dank für den Hinweis auf das Programm. Ich kannte es bisher noch nicht, habe aber schon eine Einsatzmöglichkeit dafür gefunden. Wenn Du mir bitte noch erklären würdest, was ich durch das Ersetzen der " mit "\n" erreicht habe. Das habe ich noch nicht verstanden, zumal nach dem Abspeichern der Datei der Ausdruck "\n" in dieser nicht mehr erscheint.
@Stephan
Der Unterschied in der Datei content.xml ist folgender: Die Datei bei der die Werte hervorgehoben sind enthält folgenden abweichenden Inhalt:
"><office:forms form:automatic-focus="
"false"
" form:apply-design-mode="
"false"
Sagt Dir das etwas bzw. hilft das weiter ?
Viele Grüße und vielen Dank Euch beiden
WN
der Dateienvergleich mit WinMerge hat funktioniert. Vielen Dank für den Hinweis auf das Programm. Ich kannte es bisher noch nicht, habe aber schon eine Einsatzmöglichkeit dafür gefunden. Wenn Du mir bitte noch erklären würdest, was ich durch das Ersetzen der " mit "\n" erreicht habe. Das habe ich noch nicht verstanden, zumal nach dem Abspeichern der Datei der Ausdruck "\n" in dieser nicht mehr erscheint.
@Stephan
Der Unterschied in der Datei content.xml ist folgender: Die Datei bei der die Werte hervorgehoben sind enthält folgenden abweichenden Inhalt:
"><office:forms form:automatic-focus="
"false"
" form:apply-design-mode="
"false"
Sagt Dir das etwas bzw. hilft das weiter ?
Viele Grüße und vielen Dank Euch beiden
WN
Hi WN,
weshalb so sparsam mit Deinem Namen?
Wenn Du die content.xml z.B. im Writer öffnest wirst Du sehen, dass der Text
nur einen Zeilenumbruch (oberste Zeile) enthält.
Wenn Du die Dateien mit nur einem Zeilenumbruch
vergleichst wirst Du in WinMerge in den Vergleichsfenstern
nur zwei gelbe Zeilen sehen.
Was man braucht, um die abweichden Bereich zu einfacher zu finden
sind mehrere Zeilenumbrüche. Jetzt muss an zuerst in der content.xml schauen
an welcher Stelle möglichst viele gleich Zeichen, in diesem Fall " , sind.
Bei Suchen und Ersetzen wird das " mit "\n" , der String bedeutet einen
Zeilenumbruch einfügen, ersetzt. Denn man kann im Ersetzen-Feld
nicht einfach die Enter-Taste drücken.
Der Text ist zwar somit etwas auseinandergerissen. Öffne deshalb die
Original content.xml nochmal in Writer nach dem abweichenden String,
in Deinen Fall " office:forms form:automatic-focus suchen.
Dann musst Du sehen was genauzwischen den < > steht. Beispiel:.
Ich hoffe das hilft Dir weiter.
Jürgen
weshalb so sparsam mit Deinem Namen?
Wenn Du die content.xml z.B. im Writer öffnest wirst Du sehen, dass der Text
nur einen Zeilenumbruch (oberste Zeile) enthält.
Wenn Du die Dateien mit nur einem Zeilenumbruch
vergleichst wirst Du in WinMerge in den Vergleichsfenstern
nur zwei gelbe Zeilen sehen.
Was man braucht, um die abweichden Bereich zu einfacher zu finden
sind mehrere Zeilenumbrüche. Jetzt muss an zuerst in der content.xml schauen
an welcher Stelle möglichst viele gleich Zeichen, in diesem Fall " , sind.
Bei Suchen und Ersetzen wird das " mit "\n" , der String bedeutet einen
Zeilenumbruch einfügen, ersetzt. Denn man kann im Ersetzen-Feld
nicht einfach die Enter-Taste drücken.
Der Text ist zwar somit etwas auseinandergerissen. Öffne deshalb die
Original content.xml nochmal in Writer nach dem abweichenden String,
in Deinen Fall " office:forms form:automatic-focus suchen.
Dann musst Du sehen was genauzwischen den < > steht. Beispiel:
Code: Alles auswählen
<office:forms form:automatic-focus="false" form:apply-design-mode="false"/>
Ich hoffe das hilft Dir weiter.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Hi Klaus,
freut mich, dass ich Dich mit dem richtigen Vornamen ansprechen kann.
Danke.
Einfach mal ausprobieren.
Oder hat jemand noch eine andere Idee?
Ich denke das ist aber aber auch nicht schlimm, man weiss aber in welcher "Region"
man nach Abweichungen suchen muss. Das finde ich persönlich am wichtigsten!
Wofür möchtest Du denn Winmerge einsetzen?
Guts Nächtle.
Jürgen
freut mich, dass ich Dich mit dem richtigen Vornamen ansprechen kann.

Danke.
Ich habe noch nicht ausprobiert welche Formate WinMerge lesen kann.In welcher Art von Dateien (außer xml) kann mit \n ein Zeilenumbruch erzeugt werden ?
Einfach mal ausprobieren.
Ja, so ist es, leider. Das (") wird eben ersetzt durch einen Zeilenumbruch.Sorgt der Haken bei "Regulärer Ausdruck" dafür, dass die Anführungszeichen nicht als solche übernommen werden ?
Oder hat jemand noch eine andere Idee?
Ich denke das ist aber aber auch nicht schlimm, man weiss aber in welcher "Region"
man nach Abweichungen suchen muss. Das finde ich persönlich am wichtigsten!
Wofür möchtest Du denn Winmerge einsetzen?
Guts Nächtle.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Hallo Klaus,
vielleicht habe ich mich da missverständlich ausgedrückt.
Das Programm ist nicht dafür gedacht Dateien auf der Festplatte
zu vergleichen sondern nur Inhalte von zwei Dateien, so wie Du
es ja schon gemacht hast.
Zum Suchen von doppelten Dateien gibt es andere Programme.
Schau mal hier: http://www.aidex.de/software/antitwin/
oder einfach mal googlen: suchen doppelte dateien programm
Schöne Grüße
Jürgen
vielleicht habe ich mich da missverständlich ausgedrückt.
Das Programm ist nicht dafür gedacht Dateien auf der Festplatte
zu vergleichen sondern nur Inhalte von zwei Dateien, so wie Du
es ja schon gemacht hast.
Zum Suchen von doppelten Dateien gibt es andere Programme.
Schau mal hier: http://www.aidex.de/software/antitwin/
oder einfach mal googlen: suchen doppelte dateien programm
Schöne Grüße
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem