Connect failed: Connection timed out

[GastForen Programmierung/Entwicklung AppleScript Script für InDesign CS6 nicht mehr bearbeitbar

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Script für InDesign CS6 nicht mehr bearbeitbar

Stibi
Beiträge gesamt: 832

22. Jan 2019, 14:52
Beitrag # 1 von 9
Bewertung:
(8338 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ich habe ein altes applescript, welches wunderbar läuft (derzeit unter CS6, Sierra).
In dem Script musste ich eine Zahl (Konstante) ändern.
Mein Skript Editor weigert sich nun beharrlich das (unveränderte) Skript zu kompilieren oder laufen zu lassen.
Wenn ich die reklamierte Zeile testweise auskommentiere, kompiliert es zwar, aber laufen tut es auch nicht, steigt mit Fehlermeldung aus:

Code
error "„Adobe InDesign CS6“ hat einen Fehler erhalten: column 1 of table id 752 of text frame id 748 of spread id 562 of document id 1 versteht die Nachricht „width“ nicht." 



Die Codezeile lautet:

Code
set end of spaltenliste to width of column x of tabelle 


Ausserdem mag er die log Befehle nicht (mehr)
Code
error "„Adobe InDesign CS6“ hat einen Fehler erhalten: 5 versteht die Nachricht „log“ nicht." number -1708 from 5 


Ich weiss leider nicht genau, wieviele Updates des Betriebssystems ich in der Zeit seit der letzten erfolgreichen Bearbeitung (vor Dezember 2016) ich gemacht habe, ab er irgendwas muss sich ja geändert haben… InDesign auf jeden Fall ist noch das alte.

Hat Irgendjemand ein Idee, was die Ursache sein könnte, oder wie ich das beheben kann?
X

Script für InDesign CS6 nicht mehr bearbeitbar

Hans Haesler
  
Beiträge gesamt: 5826

22. Jan 2019, 15:30
Beitrag # 2 von 9
Beitrag ID: #568631
Bewertung:
(8325 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stibi,

herzlich willkommen im AppleScript-Forum! (oder warst Du schon mal hier?)

Wie dem auch sei: Ich bin gerade unterwegs. Aber bald werde ich zu Hause sein und könnte versuchen, die Urssche des Problems zu finden.

Würdest Du mir bitte die Scriptdatei zustellen? Danke im voraus.

Gruss, Hans


als Antwort auf: [#568628]

Script für InDesign CS6 nicht mehr bearbeitbar

Stibi
Beiträge gesamt: 832

22. Jan 2019, 15:36
Beitrag # 3 von 9
Beitrag ID: #568632
Bewertung:
(8319 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe einen kleinen Teilerfolg.
Skript auf CC2018 umgestellt.
die nicht akzeptierten "width" Einträge habe ich neu eingegeben, jetzt klappts, aber nur in 2018. CS6 weiterhin nicht.

Nur "log" mag er immer noch nicht.

Gruß Stibi


als Antwort auf: [#568628]
(Dieser Beitrag wurde von Stibi am 22. Jan 2019, 15:43 geändert)

Script für InDesign CS6 nicht mehr bearbeitbar

Hans Haesler
  
Beiträge gesamt: 5826

22. Jan 2019, 16:20
Beitrag # 4 von 9
Beitrag ID: #568633
Bewertung:
(8307 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stibi,

Zitat Ich habe einen kleinen Teilerfolg.

Super! Ganz im Sinne von HilfDirSelbst. :-)

Antwort auf: Nur “log” mag er immer noch nicht.

Eine Zeile, welche mit dem Befehl log beginnt, dient einzig dazu, den aktuellen Wert einer Variablen in die Aufzeichnung des Verlaufs schreiben zu lassen.

Diese Zeile kann entfernt werden. Man kann sie auch nur deaktivieren. Zu Beginn -- oder # einfügen.

Gruss, Hans


als Antwort auf: [#568632]

Script für InDesign CS6 nicht mehr bearbeitbar

Stibi
Beiträge gesamt: 832

22. Jan 2019, 16:41
Beitrag # 5 von 9
Beitrag ID: #568636
Bewertung:
(8297 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
das ist mir schon klar.... ich brauche das ja nur zum debuggen, wenn ich im Skripteditor bin.
also der log Befehl ist mir schon wichtig.
Der log Befehl geht nur noch ausserhalb der Anweisungen an InDesign.

Hier eine reduzierte Version des Scripts, nur die Problemstellen sind drin…


Code
tell application "Adobe InDesign CS6" -- oder CC 2018 
set myDoc to active document
tell myDoc
----------------------------------------
set Bogen to parent of parent of parent of parent of selection
set tabelle to parent of parent of selection -- die Referenz!
set textrahmen to parent of parent of parent of selection
--log textrahmen -- hier geht's nicht
set spaltenliste to {}
set Spaltenzahl to number of columns of tabelle
set a to width of column 1 of tabelle -- das mag CS6 nicht (mehr)
end tell
--log textrahmen -- hier geht's nicht
end tell

log textrahmen --< hier gehts
log spaltenliste
log Spaltenzahl



Um das zu testen muss man den Cursor in eine Zelle einer Tabelle setzen, wie zum Scheiben.
In CC 21018 macht er dann (mit dem kompletten Script) - korrekt - die Tabelle zu Gunsten oder zu Lasten der ersten Spalte 178 mm breit. In CS6 halt nicht.

Gruß Stibi
und: ja, ich war schon öfter hier im Forum :-)


als Antwort auf: [#568633]

Script für InDesign CS6 nicht mehr bearbeitbar

Stibi
Beiträge gesamt: 832

22. Jan 2019, 17:16
Beitrag # 6 von 9
Beitrag ID: #568637
Bewertung:
(8282 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 
Nachtrag:
Folgendes habe ich noch herausgefunden:
Das Wort "width" sollte ja eigentlich eine Eigenschaft (genau wie "parent") sein. Im Editor kann man die ja schön einfärben und das genau sehen.
Wird aber als Befehlsname gekennzeichnet (genau wie "log")

Ich habe das Skript auf einem anderen Rechner bearbeitet. Dort wird "width" korrekt als Eigenschaft angezeigt und ordentlich verarbeitet.
Geändert und zurückgespielt auf den ersten Rechner läuft es nun auch dort.
Aber loggen kann ich im Editor auch da nicht (in der InDesign Abteilung, siehe oben)

Es muss dann doch was mit dem Betriebssystem oder irgendwelchen Erweiterungen darin zu tun haben. Ist allerdings auf beiden OSX 10.12.6.


als Antwort auf: [#568636]

Script für InDesign CS6 nicht mehr bearbeitbar

Hans Haesler
  
Beiträge gesamt: 5826

22. Jan 2019, 17:35
Beitrag # 7 von 9
Beitrag ID: #568638
Bewertung:
(8263 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stibi,

versuche es bitte mal so:

Code
tell application "Adobe InDesign CS6" 
set myDoc to active document
tell myDoc
----------------------------------------
set Bogen to parent of parent of parent of parent of selection
set tabelle to parent of parent of selection -- die Referenz!
set textrahmen to parent of parent of parent of selection

my writeLog(textrahmen)

set spaltenliste to {}
set Spaltenzahl to number of columns of tabelle
set a to width of column 1 of tabelle
end tell
end tell

on writeLog(textrahmen)
log textrahmen
end writeLog

Die Funktion writeLog() wird ausserhalb des tell-app-Blocks ausgeführt.
Dem Aufruf muss ein my vorangestellt werden.

Antwort auf: und: ja, ich war schon öfter hier im Forum :-)

Aber nur hereingeschaut. ;-) Nicht ganz korrekt: Es gab zwei Stibi-Beiträge (anfangs Februar 2010).

Gruss, Hans


als Antwort auf: [#568637]

Script für InDesign CS6 nicht mehr bearbeitbar

Stibi
Beiträge gesamt: 832

23. Jan 2019, 12:29
Beitrag # 8 von 9
Beitrag ID: #568655
Bewertung:
(8174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für den Hinweis, Hans. Es ist schon seltsam, dass man das nun herausziehen muss (früher ging es ohne).
Aber ich will nicht meckern, immerhin hast du mich ja daran erinnert, dass man auch eine Funktion dafür machen kann. (die man bedarfsweise auch noch während des Aufrufs in InDesign nutzen kann um Werte in einem Dialog anzuzeigen)
Ich nutze auch beim Entwickeln gern "say" :) Dann liest mir eine nette Frauenstimme den Wert einer Variablen vor. Ist ne gute Alternative zu "log" und funktioniert auch innerhalb der InDesign Prozedur.

Gruß Stibi
PS: Deine Beiträge in allen Foren lese ich besonders gern. Immer gehaltvoll und nützlich.


als Antwort auf: [#568638]

Script für InDesign CS6 nicht mehr bearbeitbar

Hans Haesler
  
Beiträge gesamt: 5826

23. Jan 2019, 12:59
Beitrag # 9 von 9
Beitrag ID: #568656
Bewertung:
(8168 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stibi,

bitte sehr. Super, dass es nun funktioniert.
Eine spezielle Idee, das "Vorlesen" einzuspannen ...

Und danke für Dein nettes Postskriptum. :-)

Gruss, Hans


als Antwort auf: [#568655]
X