Hallo Mike,
> Weil ja die stories was anderes sind als die PageItems (was ist da eigentlich
> der genaue Unterschied?)
PageItems sind, wie der Name fast schon nahelegt, Dinge, die auf einer Seite liegen.
Also Textrahmen, Bildrahmen, Rechtecke, Ovale, Linien ...
Eine Story liegt nicht auf der Seite, sondern schlängelt sich durch die Textrahmen.
Eine Tabellle liegt ebenfalls nie(!) direkt auf einer Seite, sondern ist stets in einer Story eingebunden (und wird in einem PageItem, nämlich dem Textrahmen, angezeigt).
> Ich will halt abfragen ob ein bestimmtes Element eine Tabelle ist
Die Tabellen findest Du über myStory.tables bzw. myStory.tables.everyItem(), nicht aber über myStory.pageItems(). Mit letzterem findest Du lediglich eingebundene Textrahmen, Graphikrahmen, Rechtecke, Ovale, Linien ...
Den Typ der Tabellen kannst Du in einer Schleife mit dem Zähler k mit myStory.tables[k].constructor.name abfragen. ;-)
Den Typ der pageItems einer Story kannst Du über myStory.pageItems[k].constructor.name abfragen. Du wirst hier jedoch nie eine "Table" zu Gesicht bekommen.
Aber das führt in die Irre.
Ich habe schon mehrfach darauf hingewiesen – und auch den Support von WoodWing zitiert:
http://www.hilfdirselbst.ch/..._P227628.html#227628 > Irgendwo hab ich glaub ich mal gelesen, dass man die Tabelle in einen Layer
> stecken muss und dann das SmartStyle dem Layer zuweisen.
Nochmal: Tabellen sind keine PageItems und wenn Du sie auf neun Ebenen legst. ;-)
SmartStyles arbeitet anders als TableStyles und ist nicht ausschließlich ein Instrument zur Formatierung von Tabellen, sondern von PageItems. Und in diesen PageItems (Textrahmen) können Tabellen enthalten sein und die werden alle in einem Rutsch formatiert. Eine individuelle Formatierung einer Tabelle ist nicht möglich. Es sei denn, sie wäre die einzige Tabelle im PageItem (Textrahmen).
Wie sollte man eine Tabelle in einen Layer stecken können?
Du kannst eine Tabelle ausschneiden und in einem neuen Textrahmen auf einem neuen Layer ablegen. Aber eben innerhalb(!) eines Textrahmens. Dem kannst Du ein SmartStyle zuweisen. Nicht dem Layer. Ein Layer ist genausowenig ein PageItem wie die Tabelle.
Aber Du kannst da leicht die Probe auf's Exempel machen: myLib.applySmartStyle(app.activeDocument.layers[0])
Es steht Dir frei, Dir diese Ausführung nochmals vom Support von WoodWing bestätigen zu lassen oder dort mit den Füßen zu stampfen. SmartStyles zeichnet keine einzelnen Tabellen aus, sondern imme alle Tabellen in einem PageItem.