Fila de Asignación para la Entrada de Datos
Para obtener datos que se añaden a una nueva fila, fueron en la pista de la derecha con su primer guión en la que escribió tell the selectedTable to add row below last row
. Simplemente había que hacer referencia a este recién creado fila cuando la configuración de los valores de cell 1
, cell 2
y cell 3
, que por otro lado se hace referencia como pertenecientes a la selectedTable
en lugar de un determinado row
en la selectedTable
:
set dataToAdd to {¬
myDateFromPlist, ¬
myTimeFromPlist, ¬
theIDFromPlist}
tell application "Numbers" to tell ¬
the front document to tell ¬
the active sheet to tell ¬
table 1
set R to add row below last row
tell R to ¬
repeat with i from 1 to count dataToAdd
set value of cell i to ¬
item i in dataToAdd
end repeat
end tell
Decidí envolver el ajuste de los valores de las celdas dentro de una repeat
de bucle, porque-en teoría-podría tener 50 células para asignar valores a, y esto ahorra un poco de escribir, además de hacer que el código sea un poco más fácil de leer.
Nota, sin embargo, que cell i
dentro de la repeat
de bucle es, en sí mismo, parte de una tell R
declaración, donde R
es la referencia a la nueva row
acaba de crear. Esto indica la secuencia de comandos que es cell i
de esta nueva row
que se debe asignar los valores almacenados en dataToAdd
, y no, simplemente, cell i
de table 1
(estoy asumiendo su sheet
sólo tiene una tabla, en cuyo caso no hay necesidad de molestarse con el extenso first table whose class of selection range is range
. Si, sin embargo, he asumido, erróneamente, aún así es mejor dar sus nombres de tablas, que se puede hacer referencia específicamente a partir de su secuencia de comandos, en lugar de por la vía de una muy tenue esperanza de que la tabla seleccionada es siempre va a ser la tabla correcta).
Algunos Puntos Sobre Su Pregunta, el Contenido y el Fragmento de Código
Por el momento, esta es la mayor ayuda que puede dar.
Si me pueden asesorar, en la publicación de una pregunta, mientras que es genial que has publicado tu fragmento de código, es mucho más útil a) publicar un fragmento de código que se compila (el suyo no lo hace; el Editor de secuencias de Comandos informa de un fin de archivo inesperado al intentar compilar, porque el fragmento de código es incompleta); b) incluir suficiente de que el código de la mayor entero tal que se puede ejecutar en algún otro sistema, lo que significa que las variables y tal debe ser definida en el fragmento de código-en la actualidad, no tengo idea de lo que las variables myDateFromPlist
, myTimeFromPlist
y theIDFromPlist
son o contienen, por lo que no se puede, por ejemplo, ayudar a usted con respecto a por qué su uso de la memoria RAM se intensificó.
Sospecho que hay un montón de código que precede a ésta Números de bloque, en la que ha accedido a su plist
archivo para recuperar sus datos. Podría ser algo en la forma en que ha hecho este que tiene su memoria consumida.
Como final de la crítica, mientras que el control de errores es una buena idea, yo dejaría salir hasta que el guión está siendo finalizado, debido a que su actual atrapamiento bloques incluyen demasiadas líneas de código en diferentes errores podría ser capturado: por ejemplo, si recibe un código de error de 1001, podría ser debido a que no hay active sheet
; o no hay selection range
; o que algo salió mal con la asignación de valores a un cell
, lo que podría ser cell 1
, cell 2
o cell 3
, pero puede haber sido una consecuencia de un problema con row 2
o una de las variables. También, usted tiene dos try
bloques anidados dentro de uno a otro, lo cual es bastante arrogante.
Si Desea Más Ayuda...
Si usted está contento con la solución de esta respuesta proporciona a su problema de fila de la asignación y la inserción de datos, entonces estoy contento es una solución fácil. Si tiene cualquier otra duda sobre esto, deja un comentario y me pondré en contacto con usted. Si desea proporcionar más información con respecto a la secuencia de comandos, variables, y lo que no, podemos tratar y suss donde esta el consumo de memoria. Como usted dice en su comentario "con este método, aunque es mi RAM es saltar de la ventana", sería útil saber cuál era la diferencia entre el primer método y el que genera el consumo de memoria, que puede, por supuesto, requieren la publicación de dos guiones.
Qué puede hacer usted para los fines de este se utilice una línea de pasta papelera. Pastery no requiere de nombres de usuario o contraseñas, y ha AppleScript resaltado de sintaxis, pero es uno entre muchos. Pegar Bin no requiere de registro alguno. Es útil el uso de la Pila de sitios web de Intercambio de cuando quiere/necesita suministro de código adicional que se solicite específicamente, pero no se necesita realmente para el principal foco de la pregunta en sí misma, donde un bloque de código ya fue suministrado y el suministro de más riesgo de ahogamiento la pregunta en un mar de grises.