# Excel Reference Coverage

Generated by `npm run generate:reference:excel` from `reference/excel/json`.

## Summary

| Metric | Count |
| --- | --- |
| JSON files scanned | 1028 |
| Object-like type dumps | 746 |
| Enumeration dumps | 282 |
| Promoted runtime types | 7 |
| Raw properties | 9896 |
| Raw methods | 3857 |
| Raw events | 123 |
| Raw enum constants | 2328 |
| Raw member rows | 13876 |
| Unique object member names | 13869 |
| Runtime object-surface members | 13753 |
| Member rows with signatures | 3980 |
| Member rows with return/type data | 13753 |
| Parameters with type data | 10960 |

## Promoted Runtime Types

| Type | Members | Runtime object members | Properties | Methods | Events | Return/type rows | Qualified returns | Signatures | Duplicate names |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Application | 315 | 267 | 215 | 52 | 49 | 267 | 63 | 101 | 1 |
| Workbook | 226 | 186 | 121 | 65 | 42 | 186 | 34 | 107 | 2 |
| Worksheet | 104 | 89 | 58 | 31 | 17 | 89 | 32 | 48 | 2 |
| Range | 201 | 201 | 110 | 91 | 0 | 201 | 57 | 91 | 0 |
| Workbooks | 15 | 15 | 7 | 8 | 0 | 15 | 8 | 8 | 0 |
| Worksheets | 19 | 19 | 10 | 9 | 0 | 19 | 4 | 9 | 0 |
| Sheets | 19 | 19 | 10 | 9 | 0 | 19 | 4 | 9 | 0 |

## Largest Object Surfaces

| Type | Kind | Members | Runtime object members | Properties | Methods | Events | Signatures |
| --- | --- | --- | --- | --- | --- | --- | --- |
| IWorksheetFunction | Interface | 406 | 406 | 3 | 403 | 0 | 403 |
| WorksheetFunction | Dispatch Interface | 406 | 406 | 3 | 403 | 0 | 403 |
| Application | Class | 315 | 267 | 215 | 52 | 49 | 101 |
| Workbook | Class | 226 | 186 | 121 | 65 | 42 | 107 |
| IRange | Interface | 201 | 201 | 110 | 91 | 0 | 91 |
| Range | Dispatch Interface | 201 | 201 | 110 | 91 | 0 | 91 |
| IPivotTable | Interface | 136 | 136 | 105 | 31 | 0 | 31 |
| PivotTable | Dispatch Interface | 136 | 136 | 105 | 31 | 0 | 31 |
| Chart | Class | 109 | 100 | 61 | 39 | 11 | 50 |
| Worksheet | Class | 104 | 89 | 58 | 31 | 17 | 48 |
| IPivotField | Interface | 90 | 90 | 78 | 12 | 0 | 12 |
| PivotField | Dispatch Interface | 90 | 90 | 78 | 12 | 0 | 12 |
| IShape | Interface | 79 | 79 | 60 | 19 | 0 | 19 |
| Shape | Dispatch Interface | 79 | 79 | 60 | 19 | 0 | 19 |
| DrawingObjects | Dispatch Interface | 75 | 75 | 54 | 21 | 0 | 21 |
| IDrawingObjects | Interface | 75 | 75 | 54 | 21 | 0 | 21 |
| IShapeRange | Interface | 71 | 71 | 50 | 21 | 0 | 21 |
| ShapeRange | Dispatch Interface | 71 | 71 | 50 | 21 | 0 | 21 |
| IWindow | Interface | 69 | 69 | 55 | 14 | 0 | 14 |
| QueryTable | Class | 69 | 67 | 62 | 5 | 2 | 7 |
| Window | Dispatch Interface | 69 | 69 | 55 | 14 | 0 | 14 |
| IQueryTable | Interface | 67 | 67 | 62 | 5 | 0 | 5 |
| DialogSheet | Dispatch Interface | 65 | 65 | 42 | 23 | 0 | 23 |
| IDialogSheet | Interface | 65 | 65 | 42 | 23 | 0 | 23 |
| ISeries | Interface | 64 | 64 | 52 | 12 | 0 | 12 |
| Series | Dispatch Interface | 64 | 64 | 52 | 12 | 0 | 12 |
| Axis | Dispatch Interface | 53 | 53 | 49 | 4 | 0 | 4 |
| IAxis | Interface | 53 | 53 | 49 | 4 | 0 | 4 |
| AppEvents | Dispatch Interface | 49 | 49 | 0 | 49 | 0 | 49 |
| IAppEvents | Interface | 49 | 49 | 0 | 49 | 0 | 49 |

## Notes

- Runtime extension code does not read `reference/`; promoted metadata is checked in under `src/`.
- Promoted members preserve available signatures and documentation summaries/parameter notes for language-service surfaces and signature-backed arity/type diagnostics.
- Excel events are counted for coverage but are intentionally not emitted into object-member surfaces; VBE does not expose events as callable object methods/properties. Event handler authoring uses a separate module-scoped metadata path; the first curated workbook/worksheet completion slice lives in `src/analyzer/completion/eventHandlers.ts`.
- Completion may use partial metadata, but hard `member-not-found` diagnostics require a promoted exhaustive surface.
- Promotion remains type-by-type so each host surface can get representative tests and oracle controls before red diagnostics rely on absence.
