[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skript: Text zu Tabelle

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

Skript: Text zu Tabelle

mkuenster
Beiträge gesamt: 717

12. Sep 2019, 14:10
Beitrag # 1 von 8
Bewertung:
(4134 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich suche ein kleines Skript, das folgende Aufgabe erfüllen soll:

suche Text, dem das Absatzformat "Anhang XY" zugewiesen ist
erzeuge daraus eine Tabelle (1-zeilig, 1-spaltig) im Tabellenformat "Anhang Z".

Gibt es so etwas vielleicht schon?

Gruß
Michael
X

Skript: Text zu Tabelle

MarioF
Beiträge gesamt: 389

13. Sep 2019, 18:55
Beitrag # 2 von 8
Beitrag ID: #571872
Bewertung:
(4048 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,
ob es so etwas schon gibt, weiß ich nicht. Frage mich nur über den Sinn einer Tabelle mit einer Spalte und einer Zeile. Was ist das Ziel?


als Antwort auf: [#571838]

Skript: Text zu Tabelle

WernerPerplies
Beiträge gesamt: 2759

13. Sep 2019, 19:41
Beitrag # 3 von 8
Beitrag ID: #571874
Bewertung:
(4032 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

Zitat Was ist das Ziel?


vielleicht so etwas, wie ein im Text mitlaufender Rahmen mit den Gestaltungsmöglichkeiten von Table- und Cellstyles?

Ich habe mal vor Jahren ein Skript geschrieben, das aufeinanderfolgende Absätze in eine Tabelle umwandelt.

Die Steuerung erfolgte dabei über Table- und Cellstyles.

Die Anzahl der Absätze (-> Spalten) wurde dabei im Namen des Tabellestils definiert.

Mein Ziel war es damals eine Corel Ventura Funktion "nebeneinander stehende Absätze" zu simulieren.


als Antwort auf: [#571872]

Skript: Text zu Tabelle

mkuenster
Beiträge gesamt: 717

24. Sep 2019, 07:57
Beitrag # 4 von 8
Beitrag ID: #571948
Bewertung:
(3624 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

das Ziel ist folgendes: Die Kapitelüberschriften sollen auf einer grauen Fläche stehen. Diese Fläche soll immer gleich groß sein, egal, ob die Überschrift ein, zwei oder drei Zeilen lang ist. Das AF des Absatzes, in dem die Tabelle steht, beginnt immer auf einer rechten Seite.

Mit Objektformaten und Absatzschattierungen habe ich schon experimentiert, aber das war alles nicht zufriedenstellend.

Gruß
Michael


als Antwort auf: [#571874]

Skript: Text zu Tabelle

Martin Fischer
  
Beiträge gesamt: 12778

24. Sep 2019, 13:37
Beitrag # 5 von 8
Beitrag ID: #571955
Bewertung:
(3568 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

teste mal das folgende Schnippsel:

Code
var ps_name = 'Anhang XY'; // Name Absatzformat  
var ts_name = 'Anhang Z'; // Name Tabellenformat
// ============================================

if (app.documents.length == 0) exit();
var doc = app.activeDocument,
ts = (doc.tableStyles.itemByName(ts_name).isValid) ? doc.tableStyles.itemByName(ts_name) : doc.tableStyles.add({name: ts_name}),
t = null,
i = 0,
_error = [],
result = [];

if (!doc.paragraphStyles.itemByName(ps_name).isValid)
{
alert('Achtung!\nEin Absatzformat mit dem Namen "' + ps_name + '" fehlt.');
exit();
}

app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '[^\\r]+';
app.findGrepPreferences.appliedParagraphStyle = doc.paragraphStyles.itemByName(ps_name);

result = doc.findGrep(true);
app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing;

for (i = 0; i < result.length; i++)
{
try
{
t = result[i].convertToTable('\t', '\r');
t.appliedTableStyle = ts;
}
catch(e)
{
_error.push(e.message);
};
}

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


In den ersten beiden Zeilen kannst Du die Namen für Absatz- und Tabellenformat anpassen.


als Antwort auf: [#571948]

Skript: Text zu Tabelle

mkuenster
Beiträge gesamt: 717

24. Sep 2019, 13:50
Beitrag # 6 von 8
Beitrag ID: #571956
Bewertung:
(3560 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen lieben Dank, das sieht schon mal sehr gut aus.

Die Tabellenbreite passt sich ja direkt der Textrahmenbreite an. Kann man in diesem Skript auch festlegen, dass die Tabelle immer die gleiche Höhe von 35 mm hat?

Gruß
Michael


als Antwort auf: [#571955]

Skript: Text zu Tabelle

Martin Fischer
  
Beiträge gesamt: 12778

24. Sep 2019, 15:30
Beitrag # 7 von 8
Beitrag ID: #571959
Bewertung:
(3540 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

probier mal das:

Code
var ps_name = 'Anhang XY'; // Name Absatzformat   
var ts_name = 'Anhang Z'; // Name Tabellenformat
// ============================================

if (app.documents.length == 0) exit();
var doc = app.activeDocument,
ts = (doc.tableStyles.itemByName(ts_name).isValid) ? doc.tableStyles.itemByName(ts_name) : doc.tableStyles.add({name: ts_name}),
t = null,
i = 0,
_error = [],
result = [];

if (!doc.paragraphStyles.itemByName(ps_name).isValid)
{
alert('Achtung!\nEin Absatzformat mit dem Namen "' + ps_name + '" fehlt.');
exit();
}

app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '[^\\r]+';
app.findGrepPreferences.appliedParagraphStyle = doc.paragraphStyles.itemByName(ps_name);

result = doc.findGrep(true);
app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing;

for (i = 0; i < result.length; i++)
{
try
{
t = result[i].convertToTable('\t', '\r');
t.appliedTableStyle = ts;
t.cells.everyItem().autoGrow = false; // Zellen mitwachsend true oder false
//t.cells.everyItem().height = '35 mm'; // Zellenhöhe
t.height = '35 mm'; // Tabellenhöhe
}
catch(e)
{
_error.push(e.message);
};
}

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



als Antwort auf: [#571956]

Skript: Text zu Tabelle

mkuenster
Beiträge gesamt: 717

24. Sep 2019, 15:47
Beitrag # 8 von 8
Beitrag ID: #571960
Bewertung:
(3532 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Martin,

das ist genau so, wie ich es mir immer gewünscht habe.
Tausend Dank für Deine Mühe!

Gruß
Michael


als Antwort auf: [#571959]
X