No estoy exactamente seguro de cómo tienes la Números documento formato o cómo se quiere almacenar exactamente el Lista maestra de Buscar y reemplazar artículos o cuando, sin embargo, lo siguiente ejemplo AppleScript código está configurado para mostrar el uso del Lista maestra de Buscar y reemplazar artículos como una sola tabla en un hoja en el Números documento y se compone de dos columnas y por mucho que filas que necesitas.
Las imágenes siguientes muestran el hojas El Lista maestra de Buscar y reemplazar artículos y el antes y el después de hoja 1 . Los datos son simplistas, pero el resultado es que funciona para encontrar y reemplazar rápidamente los pares de Buscar y reemplazar artículos en el Lista maestra .
Esto será mucho más rápido que cualquier proceso manual para lograr el mismo objetivo.
Tenga en cuenta que, tal y como está codificado, supone que no hay fórmulas en el células y se formatean como texto.
Ejemplo AppleScript código :
-
Tal y como está codificado, esto funciona sólo con el hoja de actividades en la parte delantera documento .
tell application "Numbers"
tell front document
-- # Get the Find & Replace list.
set theFindReplaceList to ¬
the formatted value of ¬
the cells of the rows 2 thru -1 of ¬
table "Find & Replace" of ¬
sheet "Master List" whose ¬
value is not missing value
-- # Clean up the List removing empty cells and rows
-- # so there are only pairs of find/replace items.
set theFindReplaceListItems to {}
repeat with aListItem in theFindReplaceList
if the length of aListItem is 2 then ¬
copy aListItem to the end of theFindReplaceListItems
end repeat
copy theFindReplaceListItems to theFindReplaceList
-- ### Find & Replace ###
if the name of active sheet is not "Master List" then
-- # For each table of the active sheet.
repeat with i from 1 to the count of the tables of the active sheet
-- # For each Find & Replace pair.
repeat with thisListItem in theFindReplaceList
-- # For every cell containing the FIND text.
set theReplaceCellsList to the (cells of table i of sheet 1 ¬
whose formatted value contains item 1 of thisListItem)
-- # Replace it with the REPLACE text.
-- # Uncomment 'considering case' and 'end considering'
-- # for case senstive find/replace operations.
--considering case
repeat with aCell in theReplaceCellsList
set the value of aCell to my findAndReplaceInCellValue(formatted value of aCell, ¬
item 1 of thisListItem, item 2 of thisListItem)
end repeat
--end considering
end repeat
end repeat
tell table 1 of active sheet to set selection range to range "A1"
end if
end tell
end tell
-- ## Handler ##
on findAndReplaceInCellValue(theFormatedCellValue, theFindValue, theReplaceValue)
set AppleScript's text item delimiters to theFindValue
set theTextItems to every text item of theFormatedCellValue
set AppleScript's text item delimiters to theReplaceValue
set theFormatedCellValue to theTextItems as string
set AppleScript's text item delimiters to ""
return theFormatedCellValue
end findAndReplaceInCellValue
Notas:
Mientras que el ejemplo AppleScript código tal y como está codificado está utilizando un hoja dentro del objetivo documento por su Buscar y reemplazar no obstante, puede codificarse para utilizar una fuente externa, por ejemplo, otra Números documento .
En cualquiera de los dos casos código ejemplos, el Lista maestra hoja no se ve afectado por las operaciones de búsqueda/reemplazo.
Las operaciones de búsqueda y sustitución son no distingue entre mayúsculas y minúsculas . Si necesita distingue entre mayúsculas y minúsculas encontrar/reemplazar y luego descomentar el considering case
y end considering
declaraciones en el ejemplo AppleScript código .
Tal y como están codificadas, las operaciones de búsqueda y sustitución actúan sobre células que contiene el valor de ENCONTRAR texto y cualquier otra cosa en el célula . Si quieres limitarte a células que sólo tienen el ENCONTRAR texto y nada más, entonces:
Cambios:
set theReplaceCellsList to the (cells of table i of aSheet ¬
whose formatted value contains item 1 of thisListItem)
Para:
set theReplaceCellsList to the (cells of table i of aSheet ¬
whose formatted value is item 1 of thisListItem)
El ejemplo AppleScript código puede utilizarse en un Automatizador Servicio/Acción Rápida utilizando un Ejecutar AppleScript acción y se le asignó un atajo de teclado en Preferencias del sistema > Teclado > Atajos > Servicios o utilizado con cualquier aplicación de terceros que puede funcionar AppleScript scripts etc.
Ejemplo AppleScript código :
-
Tal y como está codificado, funciona con todos los hojas en la parte delantera documento .
tell application "Numbers"
tell front document
-- # Get the Find & Replace list.
set theFindReplaceList to ¬
the formatted value of ¬
the cells of the rows 2 thru -1 of ¬
table "Find & Replace" of ¬
sheet "Master List" whose ¬
value is not missing value
-- # Clean up the List removing empty cells and rows
-- # so there are only pairs of find/replace items.
set theFindReplaceListItems to {}
repeat with aListItem in theFindReplaceList
if the length of aListItem is 2 then ¬
copy aListItem to the end of theFindReplaceListItems
end repeat
copy theFindReplaceListItems to theFindReplaceList
-- ### Find & Replace ###
-- # For each sheet in the document.
repeat with aSheet in (sheets whose name is not "Master List")
-- # For each table of the sheet.
repeat with i from 1 to the count of the tables of aSheet
-- # For each Find & Replace pair.
repeat with thisListItem in theFindReplaceList
-- # For every cell containing the FIND text.
set theReplaceCellsList to the (cells of table i of aSheet ¬
whose formatted value contains item 1 of thisListItem)
-- # Replace it with the REPLACE text.
-- # Uncomment 'considering case' and 'end considering'
-- # for case senstive find/replace operations.
--considering case
repeat with aCell in theReplaceCellsList
set the value of aCell to my findAndReplaceInCellValue(formatted value of aCell, ¬
item 1 of thisListItem, item 2 of thisListItem)
end repeat
--end considering
end repeat
end repeat
tell table 1 of active sheet to set selection range to range "A1"
end repeat
end tell
end tell
-- ## Handler ##
on findAndReplaceInCellValue(theFormatedCellValue, theFindValue, theReplaceValue)
set AppleScript's text item delimiters to theFindValue
set theTextItems to every text item of theFormatedCellValue
set AppleScript's text item delimiters to theReplaceValue
set theFormatedCellValue to theTextItems as string
set AppleScript's text item delimiters to ""
return theFormatedCellValue
end findAndReplaceInCellValue
Lista maestra
El Buscar y reemplazar tabla deben ser siempre dos columnas Sin embargo, el script está codificado para procesar únicamente filas que contiene tanto un encontrar y sustituir artículo.
Antes:
Después:
Nota: El <em>ejemplo </em><strong>AppleScript </strong><em>código </em>es sólo eso y sin ningún tipo de inclusión <em>tratamiento de errores </em>no contiene ningún otro <em>tratamiento de errores </em>según corresponda. Corresponde al usuario añadir cualquier <em>tratamiento de errores </em>como sea apropiado, necesario o deseado. Eche un vistazo a la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>intente </strong></a><em>declaración </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>error </strong></a><em>declaración </em>en el <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guía del lenguaje AppleScript </strong></a>. Véase también, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Trabajar con errores </strong></a>. Además, el uso de la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>retraso </strong></a><em>comando </em>puede ser necesario entre eventos cuando sea apropiado, por ejemplo <code>delay 0.5</code> con el <em>valor </em>de la <em>retraso </em>ajustado apropiadamente.