automating-excel
SKILL.md
Automating Excel (JXA-first, AppleScript discovery)
Relationship to the macOS automation skill
- Standalone for Excel, but aligned with
automating-mac-appspatterns. - Use
automating-mac-appsfor permissions, shell, and UI scripting guidance. - PyXA Installation: To use PyXA examples in this skill, see the installation instructions in
automating-mac-appsskill (PyXA Installation section).
Core Framing
- Excel AppleScript dictionary is AppleScript-first; use Script Editor for discovery.
- JXA is the production language for logic and data processing.
- Collections are specifiers; read via methods, set via assignments.
- Handle errors from Excel operations using try/catch blocks and Application error checking.
Workflow (default)
- Discover dictionary terms in Script Editor (Excel).
- Prototype a minimal AppleScript command.
- Port to JXA and add defensive checks.
- Use bulk read/write (2D arrays) for performance.
- Use VBA
run()when dictionary coverage is missing.
Validation Steps
- Test with empty documents to verify error handling
- Verify data integrity after batch operations
- Check Excel UI responsiveness after automation runs
- Log errors with specific Excel object paths for debugging
Examples
Basic workbook read:
const Excel = Application('Microsoft Excel');
const workbook = Excel.workbooks[0];
const worksheet = workbook.worksheets['Sheet1'];
const range = worksheet.ranges['A1:B10'];
const data = range.value(); // Returns 2D array
Bulk write with performance toggle:
Excel.screenUpdating = false;
Excel.calculation = 'manual';
try {
const range = worksheet.ranges['C1:D100'];
range.value = my2DArray;
} finally {
Excel.calculate();
Excel.screenUpdating = true;
}
VBA escape hatch:
Excel.run('MyMacro', {arg1: 'value', arg2: 123}); // Calls VBA subroutine
When Not to Use
- For general macOS automation without Excel involvement
- When AppleScript alone suffices (no JXA logic needed)
- For Excel tasks requiring complex UI interactions (use
automating-mac-appsfor that) - When cross-platform compatibility is required
What to load
- JXA Excel basics:
automating-excel/references/excel-basics.md - Recipes (ranges, 2D arrays, formatting):
automating-excel/references/excel-recipes.md - Advanced patterns (performance toggles, VBA bridge):
automating-excel/references/excel-advanced.md - Pivot table guidance:
automating-excel/references/excel-pivots.md - Charting guidance:
automating-excel/references/excel-charts.md - Dictionary translation table:
automating-excel/references/excel-dictionary.md - PyXA (Python) alternative:
automating-excel/references/excel-pyxa.md
Weekly Installs
8
First Seen
Feb 1, 2026
Security Audits
Installed on
opencode7
claude-code6
openclaw6
codex5
cursor4
gemini-cli4