Jun 03 2024 06:04 AM
Hi All,
Not sure if this is the best forum but wanted to raise it so it doesn't get overlooked. The issue was highlighted in the comments to the blog post Pre-fill Responses in Your Microsoft Forms. Prefilled URL parameters are ignored when used to access a Form that has already been accessed via a prefilled URL. The original parameters are continually applied and new parameters are ignored. This seems to be a caching issue as emptying the cache resolves the problem (although this is not a practical solution). This kind of negates the use of pre-filled parameters in many users situations.
It is also not possible to prefill branched questions - you can fill them, but their values are not preserved when the form is submitted if the question has not been viewed. I'm sure many Forms users have tried to pass session information in this manner, only to discover that it doesn't work. I can't believe that MS have still not provided any mechanism for passing session information - this would be so much more useful that prefilling answers that can easily be changed by users.
The obvious solution to all of this is to roll a power-app but this seems like a lot of work to overcome a simple limitation on MS Forms.
It would be good to know if either of these issues have been acknowledged and if there is a timeline for resolution.
Many thanks
Mike
Jun 12 2024 07:57 PM
Jun 13 2024 05:37 AM
Jun 13 2024 08:19 AM
I figured out how to do this with an Excel file with a table within it with protection added so that they can only modify certain columns.
Perhaps this will work for you:
I created an Excel file with a table in it and I'm using it like a template (although stored as a workbook).
Within the "template" file I have a table called Table, and I have columns that are intended for reference info that will be read-only for the end user (written to as part of this flow) and columns for the external public user to edit.
I use a Copy File action to duplicate it and give it a unique name.
I add rows to the table within the new excel file.
Since I'm working with a copied file, I'm using the Id output of the Copy a File action for the file reference. Because of this, the Add a Row Into a Table action will not pull the list of tables and the list of columns, but you can manually specify these by typing the name of the table exactly and specifying the column data like this with exact matches for column names:
{
"Proposed Invoice Number": "INV-9999",
"Description": "Blah blah blah 9999 blah",
"Subtotal (before tax)": "123.45",
"Request Date": "",
"Status": "Waiting on PO number"
}
Columns that I want them to enter data into don't need to be listed above and they'll default to blank. I've added conditional formatting to highlight the cells red when they're blank for the columns I want them to fill in.
I use an office script to lock the columns that I don't want the customer to edit, and I unlock the columns that I do want them to edit. Script is below. I'm using LockRange of A:E and UnlockRange of F:G. You can easily customize.
I create a sharing link with Edit enabled.
I send the email with the link.
Then I can use a flow to detect the change in a file in the folder so that I can then process the change.
Here is the Office Script for locking the excel file, which can easily be called from Power Automate: