Fecha dinámica del script de oficina para la fila modificada.
Estoy tratando de insertar la fecha de modificación de una fila en una columna de Fecha Modificada para esa fila particular utilizando Office Scripts para Excel Online. Esto es lo más cercano que puedo llegar ya que no he encontrado scripts que obtengan solo la fila modificada que necesitará ser dinámica. Los detalles están en los comentarios en el siguiente código:
function main(workbook: ExcelScript.Workbook) {
// Esto encuentra la ubicación de la celda en K2 (la columna Fecha Modificada está en K:K) pero, en realidad, quiero obtener la ubicación de la fila modificada.
let datetimeRange = workbook.getWorksheet("Form1").getRange("K2");
// Obtener el rango dinámico de la hoja de trabajo. No estoy seguro si funcionará ya que puede haber algunas celdas vacías. El número de filas y posiblemente columnas cambiará, por lo que necesita ser dinámico.
let myRange =
workbook.getWorksheet("Form1").getRange("A1").getSurroundingRegion().getAddress();
// Obtener la fecha y hora actual con el objeto de fecha JavaScript.
let date = new Date(Date.now());
// Esto agrega la cadena de fecha a K2, pero en realidad solo quiero que se agregue a Fecha Modificada en la columna Fecha Modificada (dinámica ya que las columnas pueden cambiar) solo para la fila que se modificó.
datetimeRange.setValue(date.toLocaleDateString() + ' ' + date.toLocaleTimeString());
}
davy.ai
Solución para Obtener la Fecha de Modificación en Scripts de Office para Excel en Línea
Para obtener la fecha de modificación insertada en una columna de Fecha Modificada para una fila en particular en Excel en Línea utilizando Scripts de Office, puede seguir los siguientes pasos:
Paso 1: Localizar la Fila Modificada
En lugar de obtener la ubicación de la celda para la Fecha Modificada, debe localizar la fila modificada. Puede utilizar el evento
onChanged
del objetoWorkbook
para detectar cualquier cambio realizado en el libro de trabajo y luego obtener el número de fila de la fila modificada.Aquí está cómo hacerlo:
Con este código, la función
updateModifiedDate
se llamará cada vez que se realice un cambio en la hoja de trabajo y se pasará el número de fila modificada como argumento.Paso 2: Actualizar la Columna Fecha Modificada
Ahora que tiene el número de fila, puede actualizar la columna Fecha Modificada para esa fila en particular. Como la columna es dinámica y puede cambiar, también debe encontrar la ubicación de la celda Fecha Modificada dinámicamente.
Aquí está cómo hacerlo:
Con este código, puede obtener el índice de columna donde se encuentra la columna Fecha Modificada utilizando el método
getUsedRange
y pasando el encabezado de la columna.Fecha Modificada
como argumento. Luego, puede utilizar el número de fila que obtuvo del eventoonChanged
para encontrar la ubicación de la celda Fecha Modificada en la fila modificada.Finalmente, puede establecer el valor de la celda Fecha Modificada con la fecha y hora actual.
¡Eso es todo! Con estos pasos, ahora puede obtener la fecha en que se modificó una fila e insertarla en una columna Fecha Modificada utilizando Scripts de Office para Excel en Línea.