0 votos

AppleScript Error ReplaceText Inside Loop - Error 1708 Can't Continue

Estoy recibiendo el error:

error "GarageSale 7.0.21 obtuvo un error: No se puede continuar con replaceText". número -1708

Esta parte del código está marcada por el error:

replaceText(FindText, "", des)

Tengo un cuadro de diálogo para introducir el texto de búsqueda. A continuación, quiero un bucle para ir a través de cada título y eliminar el texto de búsqueda si se encuentra mediante la sustitución de una cadena en blanco.

set theReply2 to (display dialog "Enter new replacement text" default answer "" buttons {"Cancel", "Continue"} default button "Continue")
set FindText to text returned of theReply2

tell application "GarageSale 7.0.21"
    repeat with theListing in (get selected ebay listings)
        set des to get the title of theListing
        set the title of theListing to replaceText(FindText, "", des)
    end repeat
end tell

on replaceText(find, replace, textString)
    set prevTIDs to AppleScript's text item delimiters
    set AppleScript's text item delimiters to find
    set textString to text items of textString
    set AppleScript's text item delimiters to replace
    set textString to "" & textString
    set AppleScript's text item delimiters to prevTIDs
    return textString

end replaceText

0 votos

Cuando se llama a un manejador desde dentro de una sentencia tell, es necesario utilizar los términos my o of me para orientar el script - véase la sección Guía del lenguaje AppleScript .

2voto

user460559 Puntos 21

Gracias por la sugerencia.

He añadido "mi" y ahora funciona.

set theReply2 to (display dialog "Enter new replacement text" default answer "" buttons {"Cancel", "Continue"} default button "Continue")
set FindText to text returned of theReply2

tell application "GarageSale 7.0.21"
    repeat with theListing in (get selected ebay listings)
        set des to get the title of theListing
        set the title of theListing to my replaceText(FindText, "", des)
    end repeat
end tell

on replaceText(find, replace, textString)
    set prevTIDs to AppleScript's text item delimiters
    set AppleScript's text item delimiters to find
    set textString to text items of textString
    set AppleScript's text item delimiters to replace
    set textString to "" & textString
    set AppleScript's text item delimiters to prevTIDs
    return textString

end replaceText

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X