hilfdirselbst.ch
Facebook Twitter gamper-media
ToniMontanaa S
Beiträge: 419
11. Jul 2017, 14:49
Beitrag #1 von 9
Bewertung:
(5906 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Aus GREP-Suchtreffer Zellenfarbe ändern


Hallo zusammen,

wie komme ich von der GREP-Suche auf die Zelle um diese farblich zu verändern.

Ausgangsposition ist folgende: Der Cursor steht an einer beliebigen Position innerhalb der Tabelle. Dann sollte mittels des Skripts die Suchen/Ersetzen-Funktion ausgeführt werden und an den jeweiligen Fundstellen die Zelle farblich angepasst werden.

Code
var _auswahlGREP = app.selection[0].parentStory 

app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat= "(\\d)\\s+(LZ)";
app.changeGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences.changeTo= "$1~3";
_auswahlGREP.changeGrep();


Ich dachte eigentlich ich komme da irgendwie über InsertionPoint und parent an die Zelle aber der Cursor bleibt an der Position stehen wo er vor Ausführung des Skripts auch stand. Sprich, er springt nicht in die Zelle in der die GREP-Suche geändert wurde.

Kann mir jemand weiter helfen?

Grüße
Stefan Top
 
X
Kai Rübsamen  M  p
Beiträge: 4526
11. Jul 2017, 14:58
Beitrag #2 von 9
Beitrag ID: #558568
Bewertung:
(5901 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Aus GREP-Suchtreffer Zellenfarbe ändern


Hallo Stefan,

hier hatte ich die Aufgabe schon einmal gelöst: https://forums.adobe.com/message/9098669#9098669
Gruß Kai Rübsamen
_______________________
als Antwort auf: [#558567] Top
 
ToniMontanaa S
Beiträge: 419
13. Jul 2017, 11:34
Beitrag #3 von 9
Beitrag ID: #558616
Bewertung:
(4786 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Aus GREP-Suchtreffer Zellenfarbe ändern


Hallo Kai,

vielen Dank für den Link. Hat mich auf jeden Fall schon mal weiter gebracht. Mit meinen momentanen Skriptkenntnissen verstehe ich zwar dein Skript jedoch komplett an meine Bedürfnisse anpassen schaffe ich glaube ich nicht.

Hier ein Screenshot wie meine Tabelle aussieht.
https://www.dropbox.com/...%2011.22.43.png?dl=0

Meine momentane Problematik besteht darin das ich unterschiedliche Linienstärken habe und wenn ich dann die unterschiedlichen Zellen mit deinem Skript per Zellenformat umfärbe geht es nicht überall, da mir die Linien dann auch verändert werden. Ich habe in deinem Skript etwas experimentiert indem ich die Abweichungen löschen aus bzw. an gestellt habe. Entweder wird mir hier dann die Zelle nicht umgefärbt oder es ändert sich die Strichstärke/-farbe meiner Tabelle.

Wäre es in diesem Fall nicht einfacher die Umfärbung der Zelle ohne Zellenformat vorzunehmen? Also einfach mittels der Farbfelder?

Grüße
Stefan
als Antwort auf: [#558568]
(Dieser Beitrag wurde von ToniMontanaa am 13. Jul 2017, 11:37 geändert)
Top
 
WernerPerplies
Beiträge: 2211
13. Jul 2017, 11:53
Beitrag #4 von 9
Beitrag ID: #558617
Bewertung:
(4769 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Aus GREP-Suchtreffer Zellenfarbe ändern


Hallo Stefan,
oder Du stellst das Zellenformat so ein, dass die Linien ignoriert werden.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING
als Antwort auf: [#558616] Top
 
ToniMontanaa S
Beiträge: 419
13. Jul 2017, 13:44
Beitrag #5 von 9
Beitrag ID: #558620
Bewertung:
(4703 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Aus GREP-Suchtreffer Zellenfarbe ändern


Hallo Werner,

das geht nicht. Siehe hier.
https://www.dropbox.com/...%2013.28.32.png?dl=0

Im Zellenformat ist nur die Zellenfarbe definiert, aber wenn zwei zusammenhängende Zellen eingefärbt werden wird die Linie dazwischen mit der Linie definiert die im Tabellenformat [Einfache Tabelle] definiert ist?!?

Eigentlich ist die Tabelle gar nicht mit dem Tabellenformat definiert, das Zellformat greift wohl aber doch darauf zurück. Wenn ich im Tabellenformat alle Linien auf 0 pt stelle passiert erst mal gar nix. Wenn ich dann die Tabelle mit dem Tabellenformat [Einfache Tabelle] formatiere habe ich zwischen den eingefärbten Feldern gar keine Linie mehr?!

Grüße
Stefan
als Antwort auf: [#558617] Top
 
Kai Rübsamen  M  p
Beiträge: 4526
13. Jul 2017, 14:58
Beitrag #6 von 9
Beitrag ID: #558623
Bewertung:
(4644 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Aus GREP-Suchtreffer Zellenfarbe ändern


Also, dir passiert, was passiert, weil deine Tabelle unsauber aufgebaut ist!

Bau mal die Zellenlinien mit abwechselnden Linien auf Tabellenebene. Das Zellenformat ignoriert dann – wie von Werner vorgeschlagen – sämtliche Linien. Dann sollte das so klappen.

Wichtig ist, dass du am Schluss beim Tabellenformat keine Abweichung hast und ganz wichtig: Im Zellenformat darf [Ohne] ebenfalls keine Abweichung haben.
Gruß Kai Rübsamen
_______________________
als Antwort auf: [#558620] Top
 
WernerPerplies
Beiträge: 2211
13. Jul 2017, 15:07
Beitrag #7 von 9
Beitrag ID: #558624
Bewertung:
(4636 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Aus GREP-Suchtreffer Zellenfarbe ändern


Stefan,

mein Vorschlag funktioniert natürlich nicht, wenn die Linien über ein Zellenformat formatiert sind.

Wenn nicht, geht es, wie von mir vorgeschlagen.

Die passende Einstellung zu finden, ist aber etwas schwierig.

1. wähle alle Linien ab
2. wähle eine Farbe
3. setze die Linienstärke auf 0
4. wähle in der Farbliste "ignorieren"

Es mag einfacher gehen, aber einen anderen Weg habe ich bisher nicht gefunden.

Der Eintrag "ignorieren" taucht bei mir nur auf diesen Weg auf.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING
als Antwort auf: [#558620] Top
 
ToniMontanaa S
Beiträge: 419
13. Jul 2017, 16:09
Beitrag #8 von 9
Beitrag ID: #558626
Bewertung:
(4603 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Aus GREP-Suchtreffer Zellenfarbe ändern


Hallo zusammen,

ich habe jetzt meine Tabelle, wie von Kai vorgeschlagen, komplett neu überarbeitet. Tabellenformat sauber definiert und dann die ganzen Zellenformate nochmal überarbeitet und siehe da, jetzt geht es.
Werde es jetzt auch mit dem Skript von Kai formatieren.
Danke nochmal.

Nichts desto Trotz, nur mal Interessehalber. Kann man nicht mit einem einfachen Einzeiler aus der GREP-Suche auf die Zelle zugreifen und hier dann nur die Farbe per Farbfeld ändern? Ohne jegliche Prüfung und sonstigen SchnickSchnack ;)

Grüße
Stefan
als Antwort auf: [#558623] Top
 
Kai Rübsamen  M  p
Beiträge: 4526
13. Jul 2017, 16:27
Beitrag #9 von 9
Beitrag ID: #558628
Bewertung:
(4593 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Aus GREP-Suchtreffer Zellenfarbe ändern


Theoretisch ja, praktisch nein:

Code
var _auswahlGREP = app.selection[0].parentStory  
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findGrepPreferences.findWhat= "test";

var res = _auswahlGREP.findGrep();

for (var n = 0; n < res.length; n++) {
var curRes = res[n];
var cell = curRes.parent;
cell.fillColor = "Black";
}


Oben gehst du von der Auswahl zum Textabschnitt. Wenn du jetzt auch außerhalb der Tabelle Fundstellen hast, würden dir auch Rahmen eingefärbt. Du müsstest dann zumindest prüfen, ob in cell auch wirklich eine Zelle drin steckt oder vorher dein _auswahlGREP anders definieren.

Das Skript soll aber immer funktionieren, egal was der Anwender auswählt. Daher prüfen!
Gruß Kai Rübsamen
_______________________
als Antwort auf: [#558626] Top
 
X