Share via


Registrar los cambios diarios en Excel y notificarlos con un flujo de Power Automate

Power Automate y los scripts de Office se combinan para controlar tareas repetitivas por usted. En este ejemplo, se le encarga grabar una sola lectura numérica en un libro todos los días y notificar el cambio desde ayer. Creará un flujo para obtener esa lectura, registrarla en el libro e informar del cambio a través de un correo electrónico.

Configuración: Archivo de Excel de ejemplo

Este libro contiene los datos, los objetos y el formato esperados por el script.

Código de ejemplo: registro e informe de lecturas diarias

Agregue el siguiente script al libro de ejemplo. En Excel, use AutomateNew Script (Automatizar >nuevo script) para pegar el código y guardar el script. Guárdelo como valor diario record y pruebe el ejemplo usted mismo!

function main(workbook: ExcelScript.Workbook, newData: string): string {
  // Get the table by its name.
  const table = workbook.getTable("ReadingTable");

  // Read the current last entry in the Reading column.
  const readingColumn = table.getColumnByName("Reading");
  const readingColumnValues = readingColumn.getRange().getValues();
  const previousValue = readingColumnValues[readingColumnValues.length - 1][0] as number;

  // Add a row with the date, new value, and a formula calculating the difference.
  const currentDate = new Date(Date.now()).toLocaleDateString();
  const newRow = [currentDate, newData, "=[@Reading]-OFFSET([@Reading],-1,0)"];
  table.addRow(-1, newRow);

  // Return the difference between the newData and the previous entry.
  const difference = Number.parseFloat(newData) - previousValue;
  console.log(difference);
  return difference.toString();
}

Flujo de ejemplo: Notificar cambios diarios

Siga estos pasos para crear un flujo de Power Automate para el ejemplo.

  1. Cree un nuevo flujo de nube programada.

  2. Programe el flujo para que se repita cada 1 día.

    El paso de creación de flujo que muestra que se repetirá todos los días.

  3. Seleccione Crear.

  4. En un flujo real, agregará un paso que obtiene los datos. Los datos pueden proceder de otro libro, una tarjeta adaptable de Teams o cualquier otro origen. Para probar el ejemplo, realice un número de prueba. Agregue una acción y elija la acción Inicializar variable . Asígnele los siguientes valores.

    1. Nombre: entrada
    2. Tipo: Integer
    3. Valor: 190000

    Acción Inicializar variable con los valores especificados.

  5. Agregue una acción y elija la acción Ejecutar script del conector de Excel Online (Empresa). Use los siguientes valores para la acción.

    1. Ubicación: OneDrive para la Empresa
    2. Biblioteca de documentos: OneDrive
    3. Archivo: daily-readings.xlsx (elegido mediante el explorador de archivos)
    4. Script: registrar el valor diario
    5. newData: entrada (contenido dinámico)

    La acción Ejecutar script con los valores especificados.

  6. El script devuelve la diferencia de lectura diaria como contenido dinámico denominado "result". Para el ejemplo, puede enviar la información por correo electrónico a usted mismo. Agregue una acción y elija la acción Enviar un correo electrónico (V2) del conector de Outlook (o cualquier cliente de correo electrónico que prefiera). Use los siguientes valores para completar la acción.

    1. Para: Su dirección de correo electrónico
    2. Asunto: Cambio de lectura diario
    3. Cuerpo: "Diferencia de ayer:" resultado (contenido dinámico de Excel)

    El conector de Outlook completado en Power Automate.

  7. Guarde el flujo y pruébelo. Use el botón Probar de la página del editor de flujo. Asegúrese de permitir el acceso cuando se le solicite.