Hi,
No, the sheet does not have to be linked to a form. The script just loops through the data to send.
I guess I'd better explaining how the script works and you try to make it work for you.
When you trigger the script, via the timeDriven function, it may be manually, via menu or any "installable trigger" (due to permissions issue), it gets the configured sheet (on FormEmailer settings) and loop through all rows up to the last one that has data (totally blank rows in the end are ignored, but if, for example, the last row has a value or formula in any column, then basically really *all* rows will be processed).
When processing each row, the script looks for the first column ("FormEmailer Status" column) and check if it's blank, if it is then it attempts to process it, saving a status in this cell after processing, so it's not reprocessed on a next run.
To be more clear about permissions, it should work normally with a installable on-edit trigger, but not the simple one:
Regards,