[GastForen Programme Print/Bildbearbeitung Adobe InDesign AppleScript: Text in verankerten Textrahmen ändern

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

AppleScript: Text in verankerten Textrahmen ändern

crashtron
Beiträge gesamt: 29

30. Mär 2006, 13:57
Beitrag # 1 von 7
Bewertung:
(4952 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich hab in meinem Dokument ungefähr 800 verankerte Textrahmen mit Randziffern. Bei diesen Randziffern sind nun einige dazugekommen und auch welche weggefallen. Ich möchte ein Script schreiben, dass diese Randziffern nun neu vergibt, damit ich die Nummern nicht von Hand ändern muss.

Aber ich bekomme es irgendwie nicht hin auf die Texte in den verankerten Rahmen zu zugreifen.

Als Object Referece bekomme ich immer so etwas:

{text frame id 526921 of text from character 89 to character 89 of story id 323 of document "LAYOUT.indd", text frame id 526898 of text from character 483 to character 483 of story id 323 of document "LAYOUT.indd", text frame id 526864 of text from character 598 to character 598 of story id 323 of document "LAYOUT.indd", text frame id 526840 of text from character 1004 to character 1004 of story id 323 of document "LAYOUT.indd"}

Mein Skript sieht so aus:
on setmydocument()
try
tell application "Adobe InDesign CS2"
set myDocument to active document
end tell
on error
display dialog "Es ist kein Indesign Dokument geöffnet. Script wird beendet." buttons ("OK")
set myDocument to false
end try
return myDocument
end setmydocument

on reNumberRZ(myDocument, myMainframe, myRZCounter, myPage)
tell application "Adobe InDesign CS2"
tell myDocument
set allPages to every page
repeat with myPage in allPages
tell text frame myMainframe of myPage
set myAnchordObjectList to every text frame
return myAnchordObjectList
log (count of myAnchordObjectList)
repeat with myItem in myAnchordObjectList
if label of myItem is "randziffer" then
tell myItem
set contents to myRZCounter
end tell
set myRZCounter to myRZCounter + 1
end if
end repeat
end tell
end repeat
end tell
end tell
end reNumberRZ

set myDocument to setmydocument()
set myMainframe to "Maintextframe"
set myRZCounter to 12
set myPage to 1
set myAnchordObjectList to reNumberRZ(myDocument, myMainframe, myRZCounter, myPage)


Vielen Dank für die Hilfe

(Dieser Beitrag wurde von crashtron am 30. Mär 2006, 14:21 geändert)
X

AppleScript: Text in verankerten Textrahmen ändern

Gerald Singelmann
  
Beiträge gesamt: 6269

30. Mär 2006, 14:36
Beitrag # 2 von 7
Beitrag ID: #220844
Bewertung:
(4940 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

folgendes gibt keine Fehlermeldung. Ich bin selbst noch nicht ganz sicher, warum es ein "contents of contents" braucht, but it works.

Code
tell application "Adobe InDesign CS2" 
set aDoc to active document
set aPage to page 1 of aDoc
set aFrame to text frame "Maintextframe" of aPage
set anchoredFrames to every text frame of aFrame
set firstAnchoredFrame to item 1 of aFrame
set contents of contents of firstAnchoredFrame to "hu"
end tell



als Antwort auf: [#220824]

AppleScript: Text in verankerten Textrahmen ändern

crashtron
Beiträge gesamt: 29

30. Mär 2006, 14:45
Beitrag # 3 von 7
Beitrag ID: #220848
Bewertung:
(4939 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ohh vielen Dank. Da wäre ich ja nie drauf gekommen, aber es funktioniert.

Gruß
Jan


als Antwort auf: [#220844]

AppleScript: Text in verankerten Textrahmen ändern

Martin Fischer
  
Beiträge gesamt: 12783

30. Mär 2006, 15:08
Beitrag # 4 von 7
Beitrag ID: #220857
Bewertung:
(4933 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gerald,

kann es sein, daß "item 1 of aFrame" einen array zurückgibt?
Dann könnte statt "set contents of contents of firstAnchoredFrame to "hu"" auch "set contents of item 1 of firstAnchoredFrame to "hu"" funktionieren.

Bin grad zu faul, um die Umgebung aufzubauen. ;-)
Könntest Du die Zeile für mich mal testen?


als Antwort auf: [#220844]

AppleScript: Text in verankerten Textrahmen ändern

crashtron
Beiträge gesamt: 29

30. Mär 2006, 15:14
Beitrag # 5 von 7
Beitrag ID: #220858
Bewertung:
(4932 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Funktioniert auch.

Was ich sehr seltsam finde ist, dass der Script Debugger die Variablen nicht auslesen kann, daher hatte ich auch das Problem das es bei mir nicht klappte.

Gruß
Jan


als Antwort auf: [#220857]

AppleScript: Text in verankerten Textrahmen ändern

Gerald Singelmann
  
Beiträge gesamt: 6269

30. Mär 2006, 15:56
Beitrag # 6 von 7
Beitrag ID: #220870
Bewertung:
(4925 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martin,

"class of firstAnchoredFrame" ist "text frame"

Die Anzeige für anchoredFrames und firstAnchoredFrame im Debugger sind verschieden. Erstes wird als Liste angezeigt, für letzteres wird "text frame id..." angezeigt.

die Zeilen
Code
	set testFrame to text frame 1 of text frame 1 of aPage 
set contents of testFrame to "hey"

brauchen nicht das doppelte konstrukt von contents of contents

also: firstAnchoredFrame ist aus irgeneinem Grund auch eine Liste, wird aber nicht als solche angezeigt...
weird.


als Antwort auf: [#220857]

AppleScript: Text in verankerten Textrahmen ändern

Martin Fischer
  
Beiträge gesamt: 12783

30. Mär 2006, 17:34
Beitrag # 7 von 7
Beitrag ID: #220899
Bewertung:
(4915 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gerald,

eins würde mich noch interessieren (kann ich aber gleich selber ausprobieren):
Was ist "class of content of firstAnchoredFrame"?


als Antwort auf: [#220870]
X