Esta pregunta está relacionada con:
donde estoy tratando de encontrar una manera de hacer lo que quiero usando AppleScript.
He estado buscando en la web para encontrar una manera de configurar la hoja activa en Números antes de intentar hacer una modificación allí. Los pasos preliminares son esencialmente:
tell application "Numbers"
activate
try
set the chosenDocumentFile to "/path/to/myfile.numbers"
open the chosenDocumentFile
on error errorMessage number errorNumber
if errorNumber is not -128 then
display alert errorNumber message errorMessage
end if
end try
tell chosenDocumentFile
try
-- this is where I'm stuck
end try
end tell
end tell
La mayoría de las cosas que he encontrado en línea hablan sobre la creación o eliminación de hojas, pero no he encontrado nada que proporcione un ejemplo claro de cómo seleccionar una hoja.
En mi caso, actualmente tengo 5 hojas en mi hoja de cálculo. Sé que quiero seleccionar la segunda hoja para actuar ( sheet 2
-¿verdad?)
He intentado:
open the sheet 2
open sheet 2
select sheet 2
activate sheet 2
Ninguno de ellos parece funcionar, y todos evitan que try
se ejecute la siguiente línea de código dentro de esa declaración adjunta.
Espero que haya una respuesta realmente simple para esto (todavía tengo mucho que hacer antes de obtener el código para hacer todo lo que quiero, pero estoy atrapado aquí ahora).
Hasta donde yo sé, Numbers no tiene un comando AppleScript explícito para seleccionar una hoja determinada.
Existe la active sheet
propiedad del documento , por ejemplo,
tell application "Numbers" to get active sheet of front document
que devolverá el active sheet
; sin embargo, aunque uno podría pensar que, por ejemplo,
tell application "Numbers" to set active sheet of front document to sheet 2
suponiendo que haya un sheet 2
, se establecería, por ejemplo, sheet 2
en active sheet
, no se establece como active sheet
.
Aquí está el método que uso las marcas dadas sheet
en active sheet
el documento frontal:
Nota: Este es un método de piratería y hace que un documento guardado se muestre como editado, aunque no altere el valor de la celda de destino . Funciona estableciendo el valor de cell "A1"
en su valor actual , por lo que, si bien se percibe como una edición, no se ha alterado ningún dato de su valor actual . Sin embargo, me funciona en Numbers 5.1 en macOS High Sierra, y es por eso que lo uso.
my selectSheet(2)
on selectSheet(n)
try
tell application "Numbers"
activate
set value of first cell of first table of sheet n of front document to ¬
(value of first cell of first table of sheet n of front document)
end tell
-- # Press escape key to remove focus from cell A1.
tell application "System Events" to key code 53
on error eStr number eNum
display dialog eStr & " number " & eNum buttons {"OK"} ¬
default button 1 with icon caution
return
end try
end selectSheet
Nota: El código AppleScript de ejemplo es solo eso y, sin ningún manejo de errores incluido , no contiene ningún otro manejo de errores que pueda ser apropiado. El usuario tiene la responsabilidad de agregar cualquier manejo de errores que sea apropiado, necesario o deseado. Eche un vistazo a la declaración de prueba y la declaración de error en la Guía del lenguaje AppleScript . Consulte también Trabajar con errores .
Con retraso…
set active sheet of document 1 to sheet 2 of document 1
Básicamente, debe especificar qué documento para cada hoja de referencia.
Por supuesto, si incluye un bloque de información del documento, puede evitarlo:
tell document 1 of application "Numbers"
set active sheet to sheet 2
end tell
ghoti
ghoti
usuario3439894
ghoti
ghoti