fx Automation

Scheduling & CI

45 min3 lessons9 quiz questions

Practice file

⬇ Download automation-practice.zip

Automation practice bundle

One ZIP serves all seven modules. It contains a generated, macro-free automation-practice.xlsx, bilingual solutions, three intentionally messy CSVs, Python report/email/pipeline scripts, requirements, a Windows launcher, a sample GitHub Actions workflow, and a README. No credentials or executable VBA are embedded.

The workbook contains Read Me, ROI, Data, Output, Sales, Products, Customers, Invoices, Statement, Orders, Rates, and Log. Data has 30 stock rows (15 reorder, 3 out of stock, total shortfall 45). Sales has 30 rows: North/South 8 each and East/West 7 each; three salespeople have 10 rows each. Five customer balances are 1200, 0, 800, 0, 500. Statement is an exercise template, not a completed statement.

The separate CSV project has 10 input rows: 7 valid unique, 2 rejected and 1 duplicate. Regional totals: South 96000, North 92000, West 61000; overall 249000. Rejected rows preserve original field values, including the literal NA amount.

Extract the ZIP and follow README.md to install the Python requirements and run the examples. Start with python pipeline.py --no-email using copies of the sample data. Desktop VBA, Outlook and xlwings exercises require the applications listed in their respective lessons. The bundle includes no credentials or enabled schedules.

Module quiz (9)

1. What does 2>&1 add to the log?
Error messages as well as normal output
2. Cron expression for 9 AM Monday–Saturday?
0 9 * * 1-6
3. Why use the venv's python.exe path?
So the scheduled job uses the right installed libraries
4. Cron for Monday 09:00 IST in GitHub Actions?
30 3 * * 1
5. Where should the SMTP password go?
GitHub Secrets
6. Which line adds a manual "Run workflow" button?
workflow_dispatch
7. What language do Office Scripts use?
TypeScript
8. Where must the workbook be saved for Power Automate?
OneDrive for Business or SharePoint
9. How does the flow get the total from the script?
The script returns it from main, and the flow uses "result"
Scheduling & CI · Automation | ExcelWalaa