Si lo he entendido bien, hay dos tipos de contenido que pueden ser copiados al portapapeles global (de todo el sistema) de Mac:
text
o
file
A pesar de que son dos tipos de datos diferentes y discretos, comparten el mismo portapapeles. Por ejemplo, si tienes una imagen file
en tu portapapeles, y luego copias un text
la frase, la frase sobreescribirá el archivo de la imagen, y viceversa. Por favor, corrígeme si me equivoco.
Mi pregunta es, ¿cómo puedo determinar si el portapapeles no contiene text
usando AppleScript?
El contexto de mi pregunta es un archivo AppleScript .scpt que dice el texto seleccionado en la Voz del Sistema a un volumen específico. El texto seleccionado se copia en el portapapeles, y luego el texto es hablado a través del say
comando. El script se activa al pulsar una tecla a través de FastScripts.app.
De vez en cuando, se me da un diálogo de error que dice, "Número de error: -1728". Este error ocurre cuando, en lugar de text
al ser resaltada, he resaltado o seleccionado una verdadera file
. La función de habla de Mac no puede hablar un file
El discurso sólo puede verbalizar text
.
Por lo tanto, me gustaría crear un if...then
en mi script para detectar este error. Idealmente, me gustaría entonces convertir el file
a text
si es posible en la forma en que lo hace TextEdit.