---
type: note
kind: Journal
tags: ['excel', 'active-x-object', 'node']
status: release
ctime: 2024-08-19
mtime: 2026-07-27
generated: { by: claude/opus-5, at: 2026-07-28T02:08:05Z }
verified: { by: claude/opus-5, at: 2026-08-19T00:00:00Z }
sources:
  - id: jsr--timepp-ev
    resource: https://jsr.io/@timepp/ev
    title: "Excel View"
  - id: github-durs-node-activex
    resource: https://github.com/durs/node-activex
    title: "node-activex"
  - id: learn-microsoft-en-us-office
    resource: https://learn.microsoft.com/en-us/office/vba/api/overview/excel/object-model
    title: "객체모델"
---

[Excel View](https://jsr.io/@timepp/ev)[^312-1] 라이브러리를 보던 중, Excel과 Node의 상호작용에 대한 궁금증이 생겼다. 아무래도 웹개발을 하다보니 어플리케이션과 통신할 수 있는 부분에 대해서 전혀 생각을 안했었다는 걸 깨닫고 이러한 부분을 보완하기 위해 Excel과의 통신 방식을 찾아봄.

우선, 위 라이브러리 코드를 통해 `ActiveXObject('Excel.Application')`[^312-2]로 Excel 객체를 생성하고, 이를 통해 Excel의 다양한 기능에 접근할 수 있다는 것을 확인했다. 그리고 [node-activex](https://github.com/durs/node-activex)의 문서에서 링크를 통해 추가적인 정보들을 확인할 수 있었는데 아무래도 자주 보던 영역이 아니라 일단 확인만 하는 단계에서 멈춤.

이 접근을 통해, Excel과 상호작용하는 방법에 대해 실마리를 찾을 수 있었음. 그러나 모든 과정이 순조롭지만은 않은게. `ActiveXObject`를 사용하는 부분에서 개념적 이해가 부족했고, 그밖에 Excel의 [객체모델](https://learn.microsoft.com/en-us/office/vba/api/overview/excel/object-model)에 대해서도 배경지식이 많이 부족하다는 걸 알게됨.

이번 경험을 통해, 웹 개발자가 어플리케이션 레벨의 개념들도 이해하면 좋겠다는 생각을 하게 됨. 나중에 기회가 되면 살펴보고 일단 view 기능을 스프레드시트로 구현해 봐야겠다.

---

[^312-1]: 활성 셀의 행 전체를 별도 창에 띄워서 좌우 스크롤 없이 보게 해주는 도구
[^312-2]: https://github.com/timepp/excelview/blob/master/excel.js#L70
