General question about automation of an excel process


Hi All,
I have to automate a manual process and I don’t know what approach would be best. Any suggestions from you on how to solve this are appreciated.
This is the manual process:

  • Emails with attached excels are received (a specific mailbox)
  • One Excel at a time is imported to another excel with a macro script (script nr1)
  • The script (nr1) removes some columns if founded (not all excels have the columns to be removed)
  • When data is imported to the excel yet another macro script (nr2) is executed. This macro script (nr2) first imports two other database tables and joins the data on specific keys, then it adds like 20 columns with different checks based on the data on each row. There are also checks that uses the whole table ie searching for duplicates etc.
  • Depending on some flags (ie duplicate row) the user may do some changes in the excel or/and just run the third macro (nr3) which adds yet another column (its like a leftjoin to add an ID) and exports the excel sheet as a .csv in a specific folder.

The user have to repeat this for every excel received into a specific mail-box. The excels usually have the same amount of columns with the same headings, but there’s one excel that have more columns than needed and the import script nr1 removes those columns.

Now I wonder what the best approach is.
One approach is to automate the process above - that is, create an attended sequence that fetches one attached excel at a time and saves it to a folder and then opens the excel with macros and triggers each macro when the users presses an “ok” button. That is, all logic from the macros is still in the excel. The robot does this for every mail.

Another approach would be to import all excels received per day into a data table and do all the checks within Uipath, present the data with flags etc in an excel to the user, let the user make changes in that excel, and then when user approves with an “ok” the data from the excel is exported to csv.

How would you do? The first approach the least time consuming…I think…