[GastForen Programme Print/Bildbearbeitung Adobe InDesign leere Felder füllen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

leere Felder füllen

max.wien
Beiträge gesamt: 67

13. Mär 2014, 21:39
Beitrag # 1 von 25
Bewertung:
(5605 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Kollegen und Kolleginnen, ich bearbeite eine Tabelle mit ca. 3000 Zeilen und unzähligen Feldern. Viele dieser Felder sind auch leer, und diese möchte ich mit einem einfachen Strich füllen.
Gibt es eine einfache Möglichkeit dies zu tun?
(Indesign CS3 (sic), Apple)

Vielen Dank
Markus
X

leere Felder füllen

Ralf Hobirk
Beiträge gesamt: 5961

13. Mär 2014, 22:01
Beitrag # 2 von 25
Beitrag ID: #524877
Bewertung:
(5599 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Markus,

Martin Fischer hat mir solch ein Script vor zwei Jahren geschrieben:

Code
// FillCellsWithEmDash.jsx 
// by Martin Fischer

//DESCRIPTION: Füllt leere Tabellenzellen mit einem Geviertstrich

var d = app.documents.firstItem();
for (var s = 0; s < d.stories.length; s++)
{
for (var t = 0; t < d.stories.item(s).tables.length; t++)
{
for (var c = 0; c < d.stories.item(s).tables.item(t).cells.length; c++)
{
var _content = d.stories.item(s).tables.item(t).cells.item(c).texts.firstItem().contents;
if (_content.replace(/\s+/g,'') == '')
{
d.stories.item(s).tables.item(t).cells.item(c).texts.firstItem().contents = '\u2014';
}
}
}
}


Das "\u2014" in Zeile 16 steht für einen Geviertstrich (m-dash) und kann auch gegen ein anderes Zeichen ausgetauscht werden. Viel Spaß damit!


als Antwort auf: [#524875]

leere Felder füllen

max.wien
Beiträge gesamt: 67

14. Mär 2014, 09:18
Beitrag # 3 von 25
Beitrag ID: #524890
Bewertung:
(5515 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf, vielen Dank!

Hat wunderbar geklappt, dauerte zwar fast 2 Stunden, wollte schon aufgeben, aber habe durchgehalten.

Großer Dank an Dich und Martin Fischer

LG aus Wien
Markus


als Antwort auf: [#524877]

leere Felder füllen

Martin Fischer
  
Beiträge gesamt: 12783

14. Mär 2014, 11:38
Beitrag # 4 von 25
Beitrag ID: #524905
Bewertung:
(5482 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Markus,

rein interessehalber …

Kannst Du mal prüfen, ob's mit folgendem Skriptle schneller gegangen wäre?

Code
var _err = []; 

app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '^[ ~s~S\\t]*\\z';

var r = app.documents.firstItem().findGrep();

app.findGrepPreferences = NothingEnum.nothing;

for (var i = 0; i < r.length; i++)
{
try
{
if (r[i].parent.constructor.name == 'Cell' && r[i].parent.pageItems.length == 0 && r[i].parent.tables.length == 0)
r[i].parent.contents = '–';
}
catch(e)
{
_err.push (i + ': ' + e);
}
}

if (_err.length > 0)
alert('Achtung!\n' + _err.join('\n'));
else
alert('Fertig');



als Antwort auf: [#524890]

leere Felder füllen

max.wien
Beiträge gesamt: 67

14. Mär 2014, 13:42
Beitrag # 5 von 25
Beitrag ID: #524921
Bewertung:
(5442 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

mach ich sehr gerne, aber ich kann das Script aber nicht speichern: E/A-Fehler: I/O-Fehler
(kenne mich zuwenig damit aus um den Fehler zu beheben)

LG Markus


als Antwort auf: [#524905]

leere Felder füllen

Martin Fischer
  
Beiträge gesamt: 12783

14. Mär 2014, 14:06
Beitrag # 6 von 25
Beitrag ID: #524922
Bewertung:
(5426 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Markus,

wenn Du das Skript genauso speicherst wie das erste, das funktioniert und Dich zwei Stunden vom Rechner verbannt hat, dann kommst Du zum Ziel. ;-)

Kopier Dir den Code in einen Texteditor und sichere das Skript als 'nur Text' (nicht RTF o.ä.) mit einem Dateinamen, der auf .jsx endet.

Das Skriptverzeichnis (der Ort, wo's abgelegt werden soll) kannst Dir im Finder anzeigen lassen indem Du in der Skriptpalette ein Skript markierst und über das Kontextmenü (CTRL – Maus-Taste) 'Im Finder anzeigen' wählst.


als Antwort auf: [#524921]

leere Felder füllen

max.wien
Beiträge gesamt: 67

14. Mär 2014, 16:35
Beitrag # 7 von 25
Beitrag ID: #524932
Bewertung:
(5365 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

tut mir leid, aber das Script tut nix.
Es meldet in der Sekunde fertig, aber nichts passiert. Ich schließe einen Anwendungsfehler natürlich nicht aus...

LG aus Wien
Markus


als Antwort auf: [#524922]

leere Felder füllen

Ralf Hobirk
Beiträge gesamt: 5961

14. Mär 2014, 17:32
Beitrag # 8 von 25
Beitrag ID: #524933
Bewertung:
(5326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Läuft bei mir einwandfrei, gerade spaßeshalber getestet.


als Antwort auf: [#524932]

leere Felder füllen

max.wien
Beiträge gesamt: 67

14. Mär 2014, 21:53
Beitrag # 9 von 25
Beitrag ID: #524949
Bewertung:
(5234 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
tja, finde meinen Fehler nicht.
Mehrmals neu gespeichert und getestet, und nix passiert...

LG aus Wien


als Antwort auf: [#524933]

leere Felder füllen

WernerPerplies
Beiträge gesamt: 2762

14. Mär 2014, 22:48
Beitrag # 10 von 25
Beitrag ID: #524950
Bewertung:
(5206 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Probieren Sie mal Folgendes:

Download von fillEmptyTableCells.zip, entpacken in das Skriptpanel und starten.

Damit sollte ein Speicherfehler ausgeschlossen sein.

Außerdem habe ich das Skript noch um eine Fehlerbehandlungsmethode ergänzt.


als Antwort auf: [#524949]

leere Felder füllen

Martin Fischer
  
Beiträge gesamt: 12783

16. Mär 2014, 07:26
Beitrag # 11 von 25
Beitrag ID: #524969
Bewertung:
(5077 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Max,

mit welcher Indesign-Version hast Du das Skript getestet?
In CS3 funktioniert der GREP-Ausdruck '^[ ~s~S\t]*\z' in Tabellenzellen nicht.

\z steht für die Position Textabschnittsende (im Gegensatz zu \Z ggf. nach der letzten Absatzmarke).

In CS3 (und höher) wird damit das Ende eines Textabschnitts gefunden.
Ab CS4 wird damit auch das Ende des Textes in einer Tabellenzelle gefunden.
In CS3 funktioniert das noch nicht.


als Antwort auf: [#524949]
(Dieser Beitrag wurde von Martin Fischer am 16. Mär 2014, 08:16 geändert)

leere Felder füllen

WernerPerplies
Beiträge gesamt: 2762

16. Mär 2014, 10:13
Beitrag # 12 von 25
Beitrag ID: #524970
Bewertung:
(5046 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Herr Fischer,

ich habe die Datei im obigen Link entsprechend angepasst.


als Antwort auf: [#524969]

leere Felder füllen

Martin Fischer
  
Beiträge gesamt: 12783

16. Mär 2014, 11:44
Beitrag # 13 von 25
Beitrag ID: #524972
Bewertung:
(5021 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Perplies,

und jetzt funktioniert's auch unter CS3?
Das muß ich mir mal ansehen.

---
edit: Mit '^[ ~s~S\\t]*' wird der Halbgeviertstrich doch überall eingefügt, nicht nur in den leeren Zellen. Kann's grad nicht testen, aber ich habe meine Zweifel an dieser Lösung.


als Antwort auf: [#524970]
(Dieser Beitrag wurde von Martin Fischer am 16. Mär 2014, 11:51 geändert)

leere Felder füllen

WernerPerplies
Beiträge gesamt: 2762

16. Mär 2014, 11:48
Beitrag # 14 von 25
Beitrag ID: #524973
Bewertung:
(5016 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Fischer,

Zitat und jetzt funktioniert's auch unter CS3?


Ich habe es nur mit einer einfachen leeren Tabelle ausprobiert:

Ohne Änderung:
Keine Fehlermeldung, kein Füllen.
Mit Änderung:
Felder werden gefüllt.

Andere Nebeneffekte kann ich natürlich nicht ausschließen.


als Antwort auf: [#524972]

leere Felder füllen

Martin Fischer
  
Beiträge gesamt: 12783

16. Mär 2014, 11:53
Beitrag # 15 von 25
Beitrag ID: #524974
Bewertung:
(5012 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Andere Nebeneffekte kann ich natürlich nicht ausschließen.


Was passiert in einer Zelle mit Text/Inhalt??

Freilich könnte man in einem zweiten Durchgang alle Halbgeviertstriche am Anfang einer Zelle, auf die ein Zeichen folgt, wieder löschen. Man müsste vielleicht noch darauf achten, dass der Stich ggf. nach einer Absatz- oder Zeilenschaltung stehen bleiben muss.

Sinn der Übung war festzustellen, ob die Suchen-Einfügen Methode bei großen Tabellen schneller funktioniert als eine Schleife durch alle Tabelllen und Zellen.
Zumindest mir ging es nicht um die Lösung selbst, sondern um eine Skizze.


als Antwort auf: [#524973]
(Dieser Beitrag wurde von Martin Fischer am 16. Mär 2014, 12:02 geändert)
X