2017-07-10 3 views
0

Ich versuche ein "einfaches" Applescript zu schreiben, das in InDesign einen Textrahmen findet, der eine bestimmte Eigenschaft hat, und dann den Absatzstil dieses Elements ändert Textrahmen. Ich weiß, dass die if-Anweisung korrekt ist, weil ich sie für andere Applescripte verwende. Also habe ich einen Textrahmen mit dem Objektstil "PriceBox". Wenn der Textrahmen einen Schrägstrich "/" enthält, möchte ich den Absatzstil auf "2for" ändern. Ich habe bestätigt, dass der Absatzstil im Dokument vorhanden ist. Allerdings, wenn ich das Skript ausführen, bekomme ich diesen Fehler:AppleScript kann den Absatzstil eines Textrahmens in InDesign nicht ändern

Fehler "kann nicht eingestellt werden« Klasse psty »von {« Klasse TXTF »ID 6905 von« Klasse SPRD »ID 6891 des Dokuments ID 4 der Anwendung \" Adobe InDesign CC 2015 \ "} bis \" 2für \ "." number -10006 aus «class psty» von {«class txtf» id 6905 aus «class sprd» id 6891 aus document id 4} nach «class 2for»

Ich habe Varianten des "set paragraph style" -Skripts ausprobiert und keiner von ihnen scheint zu funktionieren. Bitte helfen Sie! =) Danke!

tell application "Adobe InDesign CC 2015"

tell active document 
    set horizontal measurement units of view preferences to inches 
    set vertical measurement units of view preferences to inches 
    repeat with x from 1 to count pages 
     set ThisPage to page x 
     tell ThisPage 
      if exists (text frames whose (name of applied object style is "PriceBox" and contents contains "/$")) then 
       set paragraph style of (get text frames whose name of applied object style is "PriceBox") to "2for" 
    end if 
     end tell 
    end repeat 
end tell 

Ende sagen

Antwort

0

Sie testen für "/ $" nicht nur "/".

Sie können Absatzvorlagen nicht direkt auf einen Textrahmen anwenden. Sie müssen Absätze verwenden.

müssen auch eine Schleife durch den Rahmen

tell application "Adobe InDesign CC 2015" 
    tell active document 
     set horizontal measurement units of view preferences to inches 
     set vertical measurement units of view preferences to inches 
     repeat with x from 1 to count pages 
      set ThisPage to page x 
      tell ThisPage 
       if exists (text frames whose (name of applied object style is "PriceBox" and contents contains "/$")) then 

        set myFrames to (text frames whose (name of applied object style is "PriceBox" and contents contains "/$"))) 
        tell myFrames 
         repeat with r from 1 to count items 
          set applied paragraph style of paragraphs of item r of myFrames to "2For" 
         end repeat 
        end tell 
       end if 
      end tell 
     end repeat 
    end tell 
end tell 
Verwandte Themen