{"id":1092,"date":"2023-07-28T00:00:00","date_gmt":"2023-07-27T22:00:00","guid":{"rendered":"https:\/\/programaraciegas.net\/?p=1092"},"modified":"2023-06-04T05:31:57","modified_gmt":"2023-06-04T03:31:57","slug":"obtener-el-contenido-del-portapapeles-con-applescript","status":"publish","type":"post","link":"https:\/\/programaraciegas.net\/?p=1092","title":{"rendered":"Obtener el contenido del portapapeles con AppleScript"},"content":{"rendered":"<p>Ya hemos visto que en AppleScript podemos acceder a mucha de la informaci\u00f3n que est\u00e1 disponible en nuestro equipo pero a\u00fan no hemos visto una de las funciones m\u00e1s simples y \u00fatiles de los sistemas operativos modernos: el portapapeles.<\/p>\n<p>El portapapeles es un espacio en memoria donde se aloja una copia del contenido que hayamos copiado o cortado con las funciones del sistema operativo.<\/p>\n<p>\u00bfPara qu\u00e9 podemos querer acceder a la informaci\u00f3n de portapapeles desde un script? Pues desde una simple funci\u00f3n para mostrar el contenido del portapapeles en un cuadro de di\u00e1logo para verificar qu\u00e9 tenemos almacenado en esa memoria o para crear un script que nos traduzca el texto del portapapeles al idioma que necesitemos.<\/p>\n<p>Con AppleScript podemos acceder a ese espacio de memoria utilizando la variable <strong>the clipboard<\/strong>. Esta variable de AppleScript puede almacenar cualquier tipo de contenido como im\u00e1genes, texto, audio o la informaci\u00f3n de un fichero de una carpeta. Esto nos obliga a convertir esta informaci\u00f3n en algo comprensible para nuestro script.<\/p>\n<p>Veamos un ejemplo en el que obtenemos como texto la informaci\u00f3n guardada en el portapapeles:<\/p>\n<pre>set clipboardContent to (the clipboard as text)<\/pre>\n<p>Con esto podemos crear un script para verbalizar el contenido del portapapeles utilizando la voz del sistema. El c\u00f3digo ser\u00eda algo como esto:<\/p>\n<pre>set clipboardContent to the clipboard as text<br \/><br \/>say clipboardContent<\/pre>\n<p>Este c\u00f3digo funciona pero no tiene en cuenta si en el portapapeles el contenido que est\u00e1 almacenado es convertible a texto. Para evitar posibles errores de ejecuci\u00f3n de nuestro script debemos emplear un <strong>bloque try<\/strong> que nos permita <a href=\"https:\/\/programaraciegas.net\/?p=577\">controlar errores de ejecuci\u00f3n en un script<\/a>. El c\u00f3digo quedar\u00eda as\u00ed:<\/p>\n<pre>try<br \/><br \/>\u00a0 set clipboardContent to the clipboard as text<br \/><br \/>\u00a0 say clipboardContent<br \/><br \/>on error<br \/><br \/>\u00a0 say \"El portapapeles no contiene texto\"<br \/><br \/>end try<\/pre>\n<p>Con esta modificaci\u00f3n nuestro script siempre verbalizar\u00e1 algo aunque sea para notificarnos que el contenido de nuestro portapapeles no es texto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ya hemos visto que en AppleScript podemos acceder a mucha de la informaci\u00f3n que est\u00e1 disponible en nuestro equipo pero a\u00fan no hemos visto una de las funciones m\u00e1s simples y \u00fatiles de los sistemas operativos modernos: el portapapeles. El portapapeles es un espacio en memoria donde se aloja una copia del contenido que hayamos &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/programaraciegas.net\/?p=1092\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abObtener el contenido del portapapeles con AppleScript\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[80,6],"tags":[83,87,372],"class_list":["post-1092","post","type-post","status-publish","format-standard","hentry","category-applescript","category-programacion","tag-applescript-2","tag-programacion-2","tag-utilidad"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/1092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1092"}],"version-history":[{"count":0,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/1092\/revisions"}],"wp:attachment":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}