[GastForen Programmierung/Entwicklung AppleScript QXP7+ QXP8 count words

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

QXP7+ QXP8 count words

Rainer M
Beiträge gesamt: 11

19. Mär 2009, 07:52
Beitrag # 1 von 3
Bewertung:
(552 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

folgendes sollte eigentlich in QXP7+8 funktionieren:

tell application "QuarkXPress"
    tell text box 1 of page 1 of front document
        count words
    end tell
end tell


falls in QXP8 aber als erstes Zeichen in der Textbox ein Leerzeichen (space) oder ein Tabulator steht, erhalte ich als Ergebnis ein Wort mehr als wirklich vorhanden.
Wenn aber eine Zeilenschaltung (Return/Linefeed) am Anfang der Textbox ist, friert QXP8 sogar ein?!
OS 10.5.6
Oder mach' ich was verkehrt?
X

QXP7+ QXP8 count words

Hans Haesler
  
Beiträge gesamt: 5822

19. Mär 2009, 09:13
Beitrag # 2 von 3
Beitrag ID: #422946
Bewertung:
(551 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Rainer,

ich kann alle Deine Beobachtungen bestätigen. Das Einfrieren wollte mir zunächst nicht "gelingen". Aber dann entfernt ich das Leerzeichen zu Beginn der ersten Zeile und prompt reagiert XPress nicht mehr.

Mit einer früheren Version – ich glaube es war QXP 6 – erlebte ich das Einfrieren mit einem Script, welches in der Vorgängerversion gut funktioniert hatte. Abhilfe damals war, auch die story einzubeziehen:
---
tell document 1 of application "QuarkXPress"
   tell text box 1
      tell story 1
         count words
      end tell
   end tell
end tell
---
Aber im vorliegenden Fall hilft das nicht.

Eine andere Idee:
---
tell document 1 of application "QuarkXPress"
   tell text box 1
      set storyOne to story 1
      set nWords to my countWords(storyOne)
   end tell
end tell

on countWords(storyOne)
   return count words of storyOne
end countWords
---
So verfälscht der führende Leerraum das Ergebnis nicht mehr. Und – noch schöner – XPress muss nicht zwangsbeendet werden.

Ich hoffe, Du kannst dies bestätigen.


Gruss, Hans


als Antwort auf: [#422945]

QXP7+ QXP8 count words

Rainer M
Beiträge gesamt: 11

19. Mär 2009, 09:55
Beitrag # 3 von 3
Beitrag ID: #422947
Bewertung:
(551 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,


danke für deine "elegante" Version.

Ich habe zwischendurch eine brutale Variante gefunden.
Um das Problem mit dem Einfrieren (Return am Anfang der Textbox) zu umgehen füge ich grundsätzlich ein Leerzeichen am Anfang ein.

tell application "QuarkXPress"
    tell text box 1 of page 1 of front document
        copy " " to before story 1
        set x to (number of words) - 1
        delete character 1
    end tell
end tell


als Antwort auf: [#422945]