[GastForen Programmierung/Entwicklung AppleScript QXP 7.31 und Leopard: Weitere Probleme

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

QXP 7.31 und Leopard: Weitere Probleme

Hans Haesler
  
Beiträge gesamt: 5816

11. Dez 2007, 21:43
Beitrag # 1 von 8
Bewertung:
(1193 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

ich habe begonnen, die eingedeutschte Script-Menü-Scripts-Sammlung an Mac OS X 10.5.1 (Leopard) anzupassen.

Meistens wird es sich darum handeln, das Aufheben der Auswahl ausserhalb eines mit 'do script' aufgerufenen Scriptobjekts zu verlegen, sowie Farben nicht direkt, sondern als Referenzen zuzuweisen.

Die Scripts "Bildname in Textbox" und "Hintergrund" sind rasch "repariert". Aber beim dritten (Script "Kein Hintergrund") geht nichts mehr. Es ist unmöglich, die Hintergrundfarbe der Bildboxen auf "Keine" zu setzen. Der übliche Befehl ...
---
tell document 1 of application "QuarkXPress 7.31"
   tell every picture box
      set color to null
   end tell
end tell
---
... scheint zu funktionieren. Aber eine nähere Prüfung zeigt, dass die Farbe nur auf "Weiß" gewechselt hat.

Allerlei Versuche, wie ...
---
tell application "QuarkXPress 7.31"
   set bgColor to a reference to color spec "Keine" of project 1
   tell every picture box
      set color to bgColor
   end tell
end tell
---
... ergeben nur Fehlermeldungen.

Missmutig rang ich mich zu dieser "Lösung" durch:
---
tell document 1 of application "QuarkXPress 7.31"
   set properties of every picture box to {color:null, opacity:0}
end tell
---
So stimmt es wenigstens optisch. Mit opacity:0 wird die Deckkraft auf Null gesetzt.

Gruss, Hans
X

QXP 7.31 und Leopard: Weitere Probleme

Hans Haesler
  
Beiträge gesamt: 5816

12. Dez 2007, 19:48
Beitrag # 2 von 8
Beitrag ID: #422191
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

und noch ein Problem ...

Um die 'bounds' einer Box festzustellen, ist innerhalb eines mit 'do script' aufgerufenen Scriptobjekts etwas Akrobatik notwendig, um eine Fehlermeldung zu vermeiden.

Bis und mit Mac OS X 10.4.11 (Tiger) reichte diese Kurzform aus:
---
tell application "QuarkXPress 7.31"
   set boxBounds to do script {getBounds}
end tell

script getBounds
   tell application "QuarkXPress 7.31"
      tell current box
         set {y1, x1, y2, x2} to bounds as list
      end tell
   end tell
   return boxBounds
end script
---

Unter Mac OS X 10.5.1 (Leopard) muss zuerst das 'measurement rectangle' gespeichert werden, bevor dieses mit 'coerce' in eine Liste verwandelt werden kann:
---
tell application "QuarkXPress 7.31"
   set boxBounds to do script {getBounds}
end tell

script getBounds
   tell application "QuarkXPress 7.31"
      tell current box
         set boxBounds to bounds
         set {y1, x1, y2, x2} to (coerce boxBounds to list)
      end tell
   end tell
   return boxBounds
end script
---
(... ein Scriptfragment aus dem Script-Menü-Script "Schnittmarken & Bildname".)

Gruss, Hans


als Antwort auf: [#422190]

QXP 7.31 und Leopard: Weitere Probleme

Hans Haesler
  
Beiträge gesamt: 5816

13. Dez 2007, 20:56
Beitrag # 3 von 8
Beitrag ID: #422192
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

und es geht doch! Nämlich die Hintergrundfarbe von Boxen auf "Keine" setzen ... (siehe die anderslautende Erklärung im ersten Beitrag dieses Themas).

Ein Doppelschlag macht es möglich:
---
tell document 1 of application "QuarkXPress 7.31"
   set properties of every picture box to {color:null}
   set properties of every picture box to {color:null}
end tell
---
Funktioniert sogar, wenn der Befehl mit 'do script' aufgerufen wird.

Gruss, Hans


als Antwort auf: [#422190]

QXP 7.31 und Leopard: Weitere Probleme

TMA
Beiträge gesamt: 384

14. Dez 2007, 07:01
Beitrag # 4 von 8
Beitrag ID: #422193
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
da muss man ja erst mal drauf kommen.
So geht's dann natürlich auch:

tell application "QuarkXPress Passport"
   tell front document
      tell every picture box
         set color to "Kein"
         set color to "Kein"
      end tell
   end tell
end tell



Gruß
TMA


als Antwort auf: [#422190]

QXP 7.31 und Leopard: Weitere Probleme

Hans Haesler
  
Beiträge gesamt: 5816

14. Dez 2007, 07:27
Beitrag # 5 von 8
Beitrag ID: #422194
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

ja, aber unter der Bedingung, dass eine deutsche Programmsprache eingestellt ist. Mit 'null' ist es international.

Ich bin darauf gekommen, weil ich bemerkte, dass ein anderes Script eine Textbox mit Hintergrund "Keine" erzeugen konnte, Wieder nur ausserhalb eines 'do script'-Objekts. Aber immerhin! Und dann habe ich gesehen, dass in diesem Dokument die Bildboxen auf "Keine" gesetzt werden konnten.

Mein erster Workaround war deshalb: Zuerst eine temporäre Textbox erzeugen, dann die Bildboxen behandeln. Es ist, als müsste man dem Dokument sagen, das es "Keine" kennt. Schliesslich hatte ich die Idee mit der Wiederholung des Befehls ... Bingo! :-)

Gruss, Hans


als Antwort auf: [#422190]

QXP 7.31 und Leopard: Weitere Probleme

Hans Haesler
  
Beiträge gesamt: 5816

14. Dez 2007, 19:03
Beitrag # 6 von 8
Beitrag ID: #422195
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

ich nehme an, dass Du Dein Script ausprobiert hast.
Aber war es wirklich unter Mac OS X 10.5.1 (Leopard)?

Ich habe es erst jetzt prüfen können und bekomme die Meldung:
Code
"QuarkXPress 7.31" hat einen Fehler erhalten: 
Unbekannter Objekttyp.


Nur wenn ich "Kein" durch null ersetze ...
---
tell application "QuarkXPress 7.31"
   tell front document
      tell every picture box
         set color to null
         set color to null
      end tell
   end tell
end tell
---
... funktioniert es wie erwartet.

Gruss, Hans


als Antwort auf: [#422190]

QXP 7.31 und Leopard: Weitere Probleme

Hans Haesler
  
Beiträge gesamt: 5816

15. Dez 2007, 20:23
Beitrag # 7 von 8
Beitrag ID: #422196
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

Tabellenboxen mit 'do script' ansprechen geht nicht.
Ein neues Dokument, eine Tabellenbox erzeugen und dieses Script starten:
---
global cellColor
global cellShade

tell document 1 of application "QuarkXPress 7.31"
   activate
   set cellColor to a reference to color spec "Magenta"
   set cellShade to 20
   do script {colorTableRow}
end tell

script colorTableRow
   tell document 1 of application "QuarkXPress 7.31"
      tell table box 1
         tell table row 1
            set color of every generic cell to cellColor
            set shade of every generic cell to cellShade
         end tell
      end tell
   end tell
end script
---
Die erste Reihe der Tabellenzellen sollte mit 20% Magenta eingefärbt sein. Ist nicht geschehen. In der Ergebnis-Öffnung kann man lesen: "„QuarkXPress 7.31“ hat einen Fehler erhalten: This object is locked."

Dann versuchen wir es halt mit einem normalen Handler:
---
global cellColor
global cellShade

tell document 1 of application "QuarkXPress 7.31"
   activate
   set cellColor to a reference to color spec "Magenta"
   set cellShade to 20
   my colorTableRow()
end tell

on colorTableRow()
   tell document 1 of application "QuarkXPress 7.31"
      tell table box 1
         tell table row 1
            set color of every generic cell to cellColor
            set shade of every generic cell to cellShade
         end tell
      end tell
   end tell
end colorTableRow
---
Das ist langsamer. Aber es funktioniert.

Gruss, Hans


als Antwort auf: [#422190]

QXP 7.31 und Leopard: Weitere Probleme

TMA
Beiträge gesamt: 384

17. Dez 2007, 06:07
Beitrag # 8 von 8
Beitrag ID: #422197
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
ich hab bei mir noch den Tiger drauf. 10.4.11

Gruß
TMA


als Antwort auf: [#422190]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022