[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Tabelle soll im eigenen Absatz stehen (CS6, WIN)

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

Tabelle soll im eigenen Absatz stehen (CS6, WIN)

cwenet
Beiträge gesamt: 1092

29. Sep 2013, 10:07
Beitrag # 1 von 6
Bewertung:
(1980 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich habe ein Dokument mit Tabellen (Tabellenbehaelter_vorher.idml).
Oft ist es so (durch Word-Import), dass Tabellen nicht in einem eigenen Absatz stehen, sondern wie im Dokument gezeigt, steht die Tabelle mit im Absatz der U2.
Es soll aber so aussehen: Siehe bitte Tabellenbehaelter_nacher.idml.

Mit folgendem Script versuche ich gerade einen eigenen Absatz für die Tabelle zu schaffen:
Code
app.findTextPreferences = app.changeTextPreferences = NothingEnum.nothing; 
app.findTextPreferences.findWhat = '<0016>';
app.changeTextPreferences.appliedParagraphStyle = app.activeDocument.paragraphStyleGroups.item('Tabellen').paragraphStyles.item('Tabellenbehaelter');
var result = app.activeDocument.changeText();
app.findTextPreferences = app.changeTextPreferences = NothingEnum.nothing;


Mir fehlt aber vorher noch ein zusätzliches Return.
Wie kann ich die Tabelle in einen eigenen Absatz umsiedeln ohne dass benachbarte Absätze ihre Formatierung verlieren?

Über Hilfe freue ich mich.

Grüße
Christoph

Anhang:
Tabellenbehaelter_vorher.idml (27.9 KB)   Tabellenbehaelter_nacher.idml (28.0 KB)
X

Tabelle soll im eigenen Absatz stehen (CS6, WIN)

Hans Haesler
  
Beiträge gesamt: 5822

29. Sep 2013, 20:45
Beitrag # 2 von 6
Beitrag ID: #517888
Bewertung:
(1926 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

nach der Tabelle ein Return einfügen? Versuche es bitte mal mit diesem Code:

Code
var tableParaStyle = app.activeDocument.paragraphStyleGroups.item("Tabellen").paragraphStyles.item("Tabellenbehaelter");  
var allStories = app.activeDocument.stories;
for (var s=0; s<allStories.length; s++) {
var nTables = allStories[s].tables.length;
for (var t=nTables-1; t>-1; t--) {
var curIndex = (allStories[s].tables[t].storyOffset.index)+1;
allStories[s].insertionPoints[curIndex].contents = "\r";
allStories[s].insertionPoints[curIndex].appliedParagraphStyle = tableParaStyle;
}
}


Gruss, Hans


als Antwort auf: [#517873]

Tabelle soll im eigenen Absatz stehen (CS6, WIN)

cwenet
Beiträge gesamt: 1092

30. Sep 2013, 06:56
Beitrag # 3 von 6
Beitrag ID: #517889
Bewertung:
(1877 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Hans,

besten Dank. Funktioniert tadellos.

Einen schönen Tag

Christoph


als Antwort auf: [#517888]

Tabelle soll im eigenen Absatz stehen (CS6, WIN)

cwenet
Beiträge gesamt: 1092

16. Mai 2016, 09:30
Beitrag # 4 von 6
Beitrag ID: #549667
Bewertung:
(1398 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

wie kann ich vorher prüfen, ob die Tabelle bereits in einem eigenen Absatz steht?

Ich möchte vermeiden, dass noch ein zusätzliches Return gesetzt wird.


Bitte nochmals um Hilfe.

Gruß
Christoph


als Antwort auf: [#517889]

Tabelle soll im eigenen Absatz stehen (CS6, WIN)

Hans Haesler
  
Beiträge gesamt: 5822

18. Mai 2016, 09:31
Beitrag # 5 von 6
Beitrag ID: #549715
Bewertung:
(1267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

mit einem Test feststellen, ob dort schon ein Return sitzt:

Code
var tableParaStyle = app.activeDocument.paragraphStyleGroups.item("Tabellen").paragraphStyles.item("Tabellenbehaelter"); 
var allStories = app.activeDocument.stories;
for (var s=0; s<allStories.length; s++) {
var nTables = allStories[s].tables.length;
for (var t=nTables-1; t>-1; t--) {
var curIndex = (allStories[s].tables[t].storyOffset.index)+1;
if (allStories[s].characters[curIndex].contents != "\r") {
allStories[s].insertionPoints[curIndex].contents = "\r";
allStories[s].insertionPoints[curIndex].appliedParagraphStyle = tableParaStyle;
}
}
}

Zum Überprüfen kannst Du mal diese zwei Zeilen vor der if-Zeile einfügen:

Code
var testChar = allStories[s].characters[curIndex].contents; 
alert ("|"+testChar+"|");

Gruss, Hans


als Antwort auf: [#549667]

Tabelle soll im eigenen Absatz stehen (CS6, WIN)

cwenet
Beiträge gesamt: 1092

18. Mai 2016, 10:31
Beitrag # 6 von 6
Beitrag ID: #549717
Bewertung:
(1245 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Hans,

vielen Dank. Auch für die zwei Testzeilen.

Einen schönen Tag
Christoph


als Antwort auf: [#549715]
X