MS Office Web add-in 로컬에서 사용하기
Excel Web add-in을 만들었다. 하지만 일반적인 사용자들이 사용할 기능은 아니다. 그리고 자주 쓸 기능도 아니었다. 다만 있으면 확실히 작업의 능률이 올라가는 add-in 이다.
... 배포는 어떻게 할까요..
나는 처음 Web add-in을 만들때 특정 파일을 불러오면 add-in이 Excel에 알아서 추가되는 그런 기능인줄 알았다. 하지만 그게 아니었다. 열심히 만들었던 add-in은 MS Office 프로그램들과 연동가능한 그냥 웹페이지일 뿐이었다. 무작정 배포를 하려고 보니, 호스팅 서비스에다가 만들어진 정적파일들을 올려야 한다고 한다. 아.... 내가 원하던 것은 이게 아닌데....
그냥 디버그모드로 실행하면 잘되는데 굳이 배포까지 해야 하나 싶었다. 디버그모드로 사용할까 생각이 문뜩 들었지만 디버그모드로 실행하기 까지의 과정이 너무 귀찮았다. IDE를 켜야 하고, 거기서 실행을 시키고, 종종 발생하는 불러오기 오류 등 신경써야 할 것들이 한두개가 아니었다. 밤에 자기전에 저렴한 Heroku에다가 올려야하나, 무료로 Azure 을 사용할까 생각하다 잠이들었다.
정공법 대신 꼼수
구글에 Web add-in을 오프라인으로 사용할 수 있는지 찾아봐도 사람들의 대답은 언제나 "불가능하다"였다. 유튜브도 찾아봤는데 아무런 도움이 되지 않았다. 아무도 Web add-in 배포에 대해 다루고있지 않았다. 이리저리 찾다가 디버그모드에서 잘 되는데 왜 이런식으로 만들었지 의문이 들었다. 처음으로 다시 돌아가서 Office add-in 공식문서를 찾아봤다.
방법을 찾았다. 신기하게도 공식문서에 참고하라고 유튜브가 있길래 봤더니 이사람의 꼼수가 장난이 아니었다.
Sideload Office Add-ins for testing from a network share - Office Add-ins | Microsoft Learn
Sideload Office Add-ins for testing from a network share - Office Add-ins
Learn how to sideload an Office Add-in for testing from a network share.
learn.microsoft.com
Web add-in도 로컬에서 쓸 수 있습니다.
Visual Studio 기준으로 하자면 만든 Web add-in을 특정 폴더를 지정하여 deploy 한다. 위의 과정에서 정적파일들이 생성된다.
- 위에서 생성된 파일들을 node와 같은 웹서버에 올려둔다
- 프로젝트에 있는 manifest.xml 파일을 수정해준다. ~remoteUrl 이었나 이것을 웹서버에서 Home.html 파일으로 로컬에서 접근할 수 있는 url로 모두 바꿔준다.
- https로 접속할 수 있게 한다. key, cert 파일은 로컬에서만 사용할것이라면 C:\Users\사용자이름\.office-addin-dev-certs 여기 있는 파일들을 사용하면 된다. 사용자가 임의로 만들면 add-in 작동이 안되었다.
- manifest파일이 있는 폴더를 공유한다.
- Excel options에 공유된 manifest파일 위치를 넣어준다 (자세한것은 위의 링크 참조)
이렇게 하면 로컬에서 사용 가능한 Add-in을 Excel에서 확인 할 수있다.
공식문서가 최고임.
말그대로 공식문서가 최고임. 영어라고 대충보고 넘기지 말고, 차근차근 질질 짜면서 보면 우는아이 떡하나 더 준다고 좋은일이 생길거여.
ps. 쿠팡에서 저렴하게 구매한 Office 2019에서는 Add-in의 버튼을 누르면 아무런 반응이 없다. Offcie 365에서는 정상적으로 잘 동작한다.