Forum Discussion

Shreesha's avatar
Shreesha
Copper Contributor
Nov 15, 2024

Issues with Power Automate Scripts in Excel

I'm using Power Automate to run scripts in Excel. In my flow, I created a new Excel file and populated it with data from two other Excel files. After that, I ran a script to add a table to copied data, followed by another script to perform operations on that data.

However, I'm encountering some issues:

1. Occasionally, I receive a response with status code 423 and a message indicating that the file is locked for shared use by the user.
2. Other times, I get a response with status code of 200, suggesting the script executed successfully, but it doesn't find any data for operation, even though data is present, which was added in the previous step.

Interestingly, when I ran the same script directly from the Excel interface, it produces the expected results.

Can anyone help me understand why this is happening and how I can resolve these issues?

  • johndev's avatar
    johndev
    Copper Contributor

    It looks like you're encountering two distinct issues when using Power Automate with Excel scripts. Here's a breakdown of both problems and suggestions for resolving them:

    1. File Locking Issue (Status Code 423)

    • Cause: The "file is locked for shared use" message indicates that the Excel file is being accessed by multiple users or processes simultaneously. This can occur when Power Automate tries to access the file while it is still open, either by another user or by an ongoing process.
    • Possible Solutions:
      • Close the file in other apps: Ensure that the file is closed in Excel or other applications before the flow runs. Excel files locked for shared use will prevent Power Automate from accessing them.
      • Add a delay or retry logic: Insert a delay between actions in Power Automate to give the file time to fully unlock. You can also configure the retry policy to automatically retry the action after a short period.
      • Use a copy of the file: Instead of working on the original file, you can create a copy and work with that to avoid locking issues. You can use Power Automate to copy the file and then apply your scripts to the copy.
      • Check file permissions: Ensure the file permissions are set correctly. You may want to verify that only authorized users are accessing the file and that it’s not being shared unexpectedly.

    2. Data Not Found Despite Status Code 200 (Script Executes but Data Missing)

    • Cause: When Power Automate executes with a status code of 200, it indicates that the action was completed without error. However, if the script can't find the data, it could be a timing issue or a problem with the data population process.
    • Possible Solutions:
      • Ensure data population is complete before executing the script: Power Automate might be running the script before the data has fully populated. To address this, you can insert a delay between the step that populates data and the step that runs the script to give the data enough time to load.
      • Check the order of operations: Double-check the order in which the steps are executed in Power Automate. Make sure that the data population step is finished before any operations (like adding tables or manipulating data) are done.
      • Check the range or table used in the script: If your script is referring to a specific table or range, verify that the correct range is being targeted and that the data exists there. You may want to adjust the references in your script to make sure it targets the updated data.
      • Verify the file type and connector: If you’re using Excel Online (Business) as the connector, make sure you're working with the right file type and path. Using the Excel Online (Business) connector is generally more reliable than using the desktop-based Excel connector for Power Automate workflows.
      • Debug the script logic: Test your script outside of Power Automate in Excel to ensure that it works as expected. It's possible that there’s an issue in the logic of the script that causes it to fail when executed via Power Automate.

    Additional Recommendations:

    • Use Excel Online (Business) Connector: If you aren't already using the Excel Online connector, switch to it. It tends to be more stable when interacting with Power Automate than the desktop-based connector.
    • Ensure Proper Excel Data Formatting: Check that the data you're working with is in a format that your script can process properly. Sometimes, if there are inconsistencies in data formatting (such as mixed data types), the script might not execute as expected.

    By adjusting the timing of your steps, checking file access, and ensuring your scripts are working as intended, you should be able to resolve the issues you're encountering with Power Automate and Excel. However if you want to know about how you can warm up you cabin in winters click here.

    • Shreesha's avatar
      Shreesha
      Copper Contributor

      Hi jhondev,

      I really appreciate your thorough response. Your suggestions for the issues I encountered with Power Automate and Excel were helpful.

      I'm pleased to share that for the file locking issue, adding a delay step worked. Also copying the file and working on copying file worked. Additionally, the delay method also resolved the data not found issue.

      Thank you once again for your support.

  • I'd try to add delays after the steps with creating new file and after first script, e.g. one minute.

    • Shreesha's avatar
      Shreesha
      Copper Contributor

      Hi, 
      Thank you for your suggestion to add delays after creating the new file and after the first script. I think a one-minute delay is a great idea and could really help with timing issues.

Resources