hilfdirselbst.ch
Facebook Twitter gamper-media
« « 1 2 » »  
Kai Rübsamen  M  p
Beiträge: 4458
4. Dez 2013, 10:51
Beitrag #1 von 16
Bewertung:
(5412 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Hallo!

Mir ist leider kein besserer Beitragstitel eingefallen ;-)

In den vergangenen Tagen bin ich über folgende zwei Probleme gestolpert:

1. Ich möchte ein Tabellenformat anlegen u. im Skript die verschiedenen Eigenschaften definieren.
Es klappt alles, bis auf alternative Zellenfüllungen, also das was ich unter Tabellenoptionen > Abwechselnde Muster > Abwechsend einstellen kann.

Damit das funktioniert, werden die Parameter für Erste u. nächste Zeile, aber auch eine Auswahl aus dem Dropdown-Menü Abwechselnde Muster benötigt.

Als lokale Abweichung kann ich das in etwa so zuweisen:
Code
    myTable.alternatingFills = AlternatingFillsTypes.alternatingRows; 
myTable.startRowFillColor =
myTable.endRowFillColor =


Hinterlege ich die Eigenschaften im Tabellenformat, wird mir der Wert für Erste und nächste Zeile eingetragen, es wird jedoch nicht das abwechselnde Muster aktiviert.

Fragen:
a. Mache ich etwas falsch?
b. Wenn nein, was ist der Workaround?
c. Ich hatte versucht, die abwechselnde Flächen beim ersten Mal lokal zuzuweisen u. dann die lokale Abweichung in das Format zu übernehmen, also ein "redefine style" > Das scheint auch nicht zu gehen?

2. Ich versuche in einem Format Aufzählungszeichen anzulegen:
Hier scheitert es daran, dass es keine Optionen für Einzug links, Einzug erste Zeile zu geben scheint? Ich schaffe es auch nicht, ein anderes Aufzählungszeichen als den Bullet auszuwählen. Ich würde hier das Qudrat, Unicode Wert '25A0' benötigen.

Frage:
a. Sind die 3 Optionen per Skript im AF hinterlegbar?

Danke.

Gruß Kai Rübsamen
_______________________
Top
 
X
Gerald Singelmann  M  p
Beiträge: 6178
4. Dez 2013, 11:37
Beitrag #2 von 16
Beitrag ID: #520524
Bewertung:
(5390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Zu 1.

Das ist wirklich seltsam. Das hier scheint aber zu funktionieren:
Code
#target indesign 

main();

function main() {
var doc = app.activeDocument;
var t = doc.tableStyles.item("Table Style 1");
var c1 = doc.colors[1];
var c2 = doc.colors[2];

t.startRowFillColor = c1;
t.endRowFillColor = c2;
t.startRowFillCount = 1;
t.endRowFillCount = 1;

t.startColumnFillColor = c1;
t.endColumnFillColor = c2;
t.startColumnFillCount = 1;
t.endColumnFillCount = 1;

t.columnFillsPriority = false;

}


wahlweise dann

Code
t.columnFillsPriority = true; 


--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#520520]
(Dieser Beitrag wurde von Gerald Singelmann am 4. Dez 2013, 11:38 geändert)
Top
 
Gerald Singelmann  M  p
Beiträge: 6178
4. Dez 2013, 11:50
Beitrag #3 von 16
Beitrag ID: #520526
Bewertung:
(5380 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Zu 2.

das hier scheint zu funktionieren:

Code
#target indesign 

main();

function main() {
var doc = app.activeDocument;
var ps = doc.paragraphStyles.item("nu");


ps.bulletChar.bulletsFont = "Zapf Dingbats";
ps.bulletChar.characterType = BulletCharacterType.UNICODE_WITH_FONT;
ps.bulletChar.characterValue = 0x2799;

ps.bulletsAndNumberingListType = ListType.BULLET_LIST;

ps.leftIndent = "15 mm";
ps.firstLineIndent = "-7.5 mm";

}


--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#520520] Top
 
Kai Rübsamen  M  p
Beiträge: 4458
4. Dez 2013, 12:24
Beitrag #4 von 16
Beitrag ID: #520532
Bewertung:
(5346 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


zu 1: Im Adobe Beispielskript wird zwar AlternatingFillsTypes.alternatingRows, aber nicht "FillCount" angegeben. Das scheint hier aber der wichtige Part zu sein.

Das klappt also schon mal. Danke :)

Gruß Kai Rübsamen
_______________________
als Antwort auf: [#520526] Top
 
Kai Rübsamen  M  p
Beiträge: 4458
4. Dez 2013, 12:33
Beitrag #5 von 16
Beitrag ID: #520535
Bewertung:
(5338 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


zu 2: Gero, sehr gut. Das klappt auch. Danke.

Was hab ich falsch gemacht:
1. Ich habe die Eigenschaft characterType nicht gefunden
2. Ich habe die Eigenschaft characterValue als String eingegeben
3. Ich habe die Einzüge verzweifelt unter bullets gesucht, sie sind aber – logisch – eine Eigenschaft des Absatzes u. tauchen nur noch einmal zusätzlich im Dialog für bullets auf.

Gruß Kai Rübsamen
_______________________
als Antwort auf: [#520532] Top
 
Gerald Singelmann  M  p
Beiträge: 6178
4. Dez 2013, 13:22
Beitrag #6 von 16
Beitrag ID: #520538
Bewertung:
(5302 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


AlternatingFillsTypes.alternatingRows ist eine Eigenschaft der Tabelle, aber nicht des Tabellenformats.
Im Format wirkt eine Kombo aus fillCount und columnFillsPriority (da ja sowohl die rowFillCounts als auch die columnFillCounts größer 0 sein können)

--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#520532] Top
 
Kai Rübsamen  M  p
Beiträge: 4458
4. Dez 2013, 13:33
Beitrag #7 von 16
Beitrag ID: #520539
Bewertung:
(5289 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Antwort auf: AlternatingFillsTypes.alternatingRows ist eine Eigenschaft der Tabelle, aber nicht des Tabellenformats.

aha. Das war mir bisher so nicht klar. Danke.

Offensichtlich bin ich nicht alleine mit diesem Problem: http://forums.adobe.com/message/5879229#5879229

Gruß Kai Rübsamen
_______________________
als Antwort auf: [#520538] Top
 
Kai Rübsamen  M  p
Beiträge: 4458
6. Dez 2013, 13:55
Beitrag #8 von 16
Beitrag ID: #520667
Bewertung:
(5189 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Dirk Becker hat die Tage empfohlen, dass man mehrere Eigenschaften am besten über die properties zuweisen soll.

Kann mir jemand erklären, warum hier der characterType nicht honoriert wird?

Code
 var bC = ps.bulletChar; 
bC.properties = {bulletsFont: "Zapf Dingbats", characterType: BulletCharacterType.UNICODE_WITH_FONT, characterValue: 0x25A0};


Gruß Kai Rübsamen
_______________________
als Antwort auf: [#520539]
(Dieser Beitrag wurde von Kai Rübsamen am 6. Dez 2013, 13:55 geändert)
Top
 
Dirk Becker
Beiträge: 156
6. Dez 2013, 18:52
Beitrag #9 von 16
Beitrag ID: #520682
Bewertung:
(5151 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Meine erste Vermutung war, dass noch der bulletsFontStyle fehlt. Das war's dann aber auch nicht (gerade mit CS5 probiert).
Andere Reihenfolge? Fehlanzeige.
ListType im Absatzformat? auch nichts.

Code
var ps = app.activeDocument.paragraphStyles.add(); 
ps.properties = {
bulletsAndNumberingListType: ListType.BULLET_LIST,
bulletChar: {
characterValue: 0x25A0,
characterType: BulletCharacterType.UNICODE_WITH_FONT,
bulletsFont: "Zapf Dingbats", bulletsFontStyle: "Regular",
}
};


Selbst wenn man das properties Objekt an add() übergibt, wird der characterType ignoriert, die anderen Werte kommen an.
Beim Snippet funktioniert es dagegen. Das entsprechenden XML sieht deutlich anders aus:

<BulletChar BulletCharacterType="UnicodeWithFont" BulletCharacterValue="9632"/>
<BulletsFont type="string">Zapf Dingbats</BulletsFont>
<BulletsFontStyle type="string">Regular</BulletsFontStyle>

Die Font-Attribute sind hier aus dem BulletChar herausgewandert und stehen direkt im Absatzformat.

Ich würde sagen, Sie haben einen Bug gefunden.
Also erweitern wir meine Empfehlung, über die properties zu gehen, besser um "wenn es funktioniert"...

Grüße,
Dirk Becker
als Antwort auf: [#520667] Top
 
Uwe Laubender S
Beiträge: 3991
7. Dez 2013, 10:07
Beitrag #10 von 16
Beitrag ID: #520686
Bewertung:
(5114 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Hallo, Dirk!

Dein von Dir geposteter Schnipsel funktioniert aber schon bei Dir, oder?

Ich hab's gerade eben getestet (InDesign CS5.5 v7.5.3 auf OSX 10.6.8).
Also bei mir tut's das…

Bei Kay's Schnipsel fehlt mir irgendwie die Definition der Variable ps.

Falls das nur ein neues Absatzformat ohne Parametrierung sein sollte (add()-Methode), dann kann Kays Schnipsel nicht funktionieren, weil der Listentyp grundsätzlich dann noch auf "Ohne" steht.

Wobei ich jetzt nicht genau weiß, was mit "funktionieren" hier gemeint ist.
Gehen wir mal den Fall von Kai Schritt für Schritt durch (mit Screenshots auf die Auswirkungen)

1. Das Absatzformat wird dem Dokument hinzugefügt:
Code
var ps = app.documents[0].paragraphStyles.add(); 

Ergebnis in Screenshot 1

2. Die Property bulletChar wird in eine Variable geschrieben, diese Variable wird mit Eigenschaften über properties gefüttert:

Code
var ps = app.documents[0].paragraphStyles.add(); 

var bC = ps.bulletChar;

bC.properties = {
bulletsFont: "Zapf Dingbats",
characterType: BulletCharacterType.UNICODE_WITH_FONT,
characterValue: 0x25A0
};

Ergebnis in Screenshot 2

Da der Listentyp noch nicht bestimmt wurde, hat das noch keine Auswirkungen auf den formatierten Text.

3. Den Listentyp kann man natürlich dann noch definieren.
Entweder in der add()-Methode am Anfang:

Code
var ps = app.documents[0].paragraphStyles.add({bulletsAndNumberingListType:ListType.BULLET_LIST}); 


Oder nachher mithilfe der Variablen ps:

Code
ps.bulletsAndNumberingListType=ListType.BULLET_LIST; 


Ergebnis (für beide Methoden gleich) in Screenshot 3

Ich für meinen Teil kann da beim besten Willen keinen Bug entdecken…
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#520682] Top
 
Uwe Laubender S
Beiträge: 3991
7. Dez 2013, 10:18
Beitrag #11 von 16
Beitrag ID: #520687
Bewertung:
(5110 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Auch mit CS5 v7.0.4 getestet.
Bei mir funktioniert das…
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#520686] Top
 
Dirk Becker
Beiträge: 156
7. Dez 2013, 11:54
Beitrag #12 von 16
Beitrag ID: #520689
Bewertung:
(5081 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Hallo,

das Script zeigte nur den letzten Stand meiner vergeblichen Versuche. Der characterType kommt nach wie vor nicht an, zumindest beim ersten Ausführen der Zuweisung.

Also:
Code
$.writeln(ps.bulletChar.characterType==BulletCharacterType.UNICODE_WITH_FONT ? "gut" : "schlecht"); 


Im Absatzformat-Dialog kann man das leider nicht erkennen - Adobe hat den "bearbeiten" Knopf im Bullet-Dialog eingespart.

Grüße,
Dirk
als Antwort auf: [#520687] Top
 
Uwe Laubender S
Beiträge: 3991
7. Dez 2013, 13:27
Beitrag #13 von 16
Beitrag ID: #520691
Bewertung:
(5052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Danke, Dirk!

Jetzt kann ich's nachvollziehen…

Bei der Zuweisung per properties{} wird zwar UNICODE_WITH_FONT definiert, aber der Wert wird trotzdem nicht geändert, bleibt also beim Default von UNICODE_ONLY bestehen.
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#520689] Top
 
Kai Rübsamen  M  p
Beiträge: 4458
7. Dez 2013, 13:30
Beitrag #14 von 16
Beitrag ID: #520692
Bewertung:
(5051 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Hallo!

Danke für eure Beiträge. Ich habe gerade Dirks Schnipsel getestet > funktioniert bei mir ebenfalls nicht.

Zitat Bei Kay's Schnipsel fehlt mir irgendwie die Definition der Variable ps.

Der Aufbau ergibt sich aus Geralds Beispiel oben.

Antwort auf: Ich für meinen Teil kann da beim besten Willen keinen Bug entdecken…

Lass mal Geralds Variante oben laufen. In beiden Fällen hat es 'BulletCharacterType.UNICODE_WITH_FONT'. Dann schau dir mal jeweils das erzeugte Zeichen an. Im ersten Fall wird das Zeichen aus der Zapf Dingbats genommen, im zweiten Fall eben nicht.

Gruß Kai Rübsamen
_______________________
als Antwort auf: [#520686] Top
 
Uwe Laubender S
Beiträge: 3991
7. Dez 2013, 14:32
Beitrag #15 von 16
Beitrag ID: #520695
Bewertung:
(5025 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Fehlende Eigenschaften beim Skripting?


Danke, Kai!
Ja. Unsere beiden Posts müssen sich überschnitten haben.

Und richtig: Das Bullet-Zeichen kommt nach wie vor aus der Grundschrift.

Im Screenshot sieht man's ja auch.
Das kleine "u" am Zeichen. Auch noch "rot" eingefärbt, das aber nur sichtbar, wenn's nicht angewählt ist.

Hatte wohl Tomaten auf den Augen (und noch keinen Kaffee) heute morgen…
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#520692] Top
 
« « 1 2 » »  
X