• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Apple Script: Aktuelle Seite als Zahl aus Pages auslesen

jannk

Niederhelfenschwiler Beeriapfel
Registriert
17.06.07
Beiträge
838
Hallo

Ich möchte gerne die Aktuelle Seite (z.B. Seite 3) von Pages auslesen, um nachher einen Druckbefehl von eben dieser Seite zu geben.

Also wenn man in Pages die Seite 3 geöffnet hat, wird bei Ausführung des Scripts die Seite 3 gedruckt.
Im Funktionsverzeichnis wird eine zumindest vielversprechende Funktion angezeigt, doch wie binde ich die ein?

Vielen Dank für Antworten.
 

Anhänge

  • Bildschirmfoto 2009-10-03 um 19.21.28.png
    Bildschirmfoto 2009-10-03 um 19.21.28.png
    144,3 KB · Aufrufe: 110
Das sollte es sein....

Code:
-- 03.10.2009 hubionmac.com
-- aktuelle Seite in Pages drucken

if (count of my visible_pages()) > 1 then
	set page_to_print to (choose from list (my visible_pages()) with prompt "Welches Seite soll gedruckt werden?")
else
	set page_to_print to my visible_pages()
end if


print_page(1, first item of page_to_print, last item of page_to_print)

on print_page(number_of_copies, startpage, stoppage)
	tell application "Pages"
		activate
		tell document 1
			--das sollte eigentlich funktionieren... tut es aber bei mir nicht...
			--print with properties {copies:1, starting page:3, ending page:3, collating:true} with print dialog
			--als GUI-Pfusch:
			
			tell application "System Events"
				keystroke "p" using command down
				delay 1
				keystroke (number_of_copies as text)
				keystroke tab
				delay 0.25
				keystroke (startpage as text)
				keystroke tab
				delay 0.25
				keystroke (stoppage as text)
				delay 0.25
				keystroke return
			end tell
		end tell
	end tell
end print_page
on visible_pages()
	tell application "Pages"
		tell window 1
			set pagerefs to (visible pages as list)
			set page_numbers to {}
			repeat with p in pagerefs
				set page_numbers to page_numbers & {page number of p}
			end repeat
		end tell
	end tell
	return page_numbers
end visible_pages
 
  • Like
Reaktionen: jannk
Hallo hubionmac! :)

Da ich Pages besitze, habe ich aus Interesse dein schönes Skript einfach mal ausgeführt.
print with properties {copies:1, starting page:startpage, ending page:stoppage, collating:true}
funktioniert bei mir ohne Probleme...

Pages 4.03
OS X 10.6.1
 
Vielen Dank, damit klappt es super! (Kama +)

Für alle, welche den Druckbefehl noch selbst bestätigen wollen, übrigens einfach das
Code:
delay 0.25
keystroke return
löschen.

Nochmals vielen Dank und nen schönen Sonntag,
jann