Modifica dei testi segnaposto in Pages usando AppleScript

3

Ho un documento "test" di Pages con una casella di testo che contiene il testo "Note a piè di pagina". Questo testo è contrassegnato come testo segnaposto.

Voglio cambiare questo testo usando AppleScript. Questo è quello che ho ottenuto finora:

tell application "Pages"
    activate
    tell document "test"
        tell current page
            set thistext to every text item whose object text contains "Footnotes"
            tell thistext
                tell its object text
                    set every word to mytext
                end tell
            end tell
        end tell
    end tell
end tell

L'esecuzione di questo comporterà il seguente errore:

error "Can’t get object text of {text item 1 of page 1 of document id \"EB865803-005B-4C5D-A740-398B41B767F5\" of application \"Pages\"}." number -1728 from «class pDTx» of {«class shtx» 1 of «class cPag» 1 of document id "EB865803-005B-4C5D-A740-398B41B767F5"}

L'editor di script segna anche le seguenti righe:

tell its object text
     set every word to mytext
end tell

Qualche idea? L'obiettivo è riempire il testo segnaposto su quella pagina con una nota a piè di pagina personalizzata.

    
posta WalterBeiter 24.10.2017 - 10:48
fonte

1 risposta

2

set … to every … imposta la variabile su un elenco. Ciò significa che thistext è un elenco, quindi non è possibile eseguire operazioni relative agli articoli nell'elenco stesso. Hai bisogno di un ciclo:

repeat with thistext in (every text item whose object text contains "Footnotes")
    …
end repeat

Lo script completo è:

tell application "Pages"
    activate
    tell document "test"
        tell current page
            repeat with thistext in (every text item whose object text contains "Footnotes")
                tell thistext
                    tell its object text
                        set every word to mytext
                    end tell
                end tell
            end repeat
        end tell
    end tell
end tell
    
risposta data 24.10.2017 - 11:27
fonte

Leggi altre domande sui tag