在node.js中调用EXCEL VBA,该怎么办?
关键词很多...
- win32ole据说可以:
npm地址
介绍文章using-com-object-in-nodejs
安装
npm install win32ole
这个的用法和后面说的ActiveXObject很像.不过4年前就已不在维护了.
目前这个项目使用新版的node会编译不通过,必须降级到老版才行,看来不太实用了。
2. 还有个edge项目据说可以访问.net
网址
Github 地址
npm 地址
介绍文章 how-to-run-an-excel-vba-from-a-node-js-program
据说可以替代win32ole
using-edge-js-as-a-replacement-for-win32ole
- 另一个用到ActiveXObject
介绍文章 JavaScript to call a VBA routine with parameters
最早看到的是这个,调用方式简单直接, 但据说只能在老IE里面使用ActiveXObject这个对象! 哦, 老IE里面script类型不但可以是JavaScript, 还可以是vbscript呢!
仔细研究,是使用了一个叫HTA的技术, 用mshta.exe运行.HTA全称 是HTML Application, 微软1999年就弄出来了, 基于IE运行, 有更高的权限, 很先进的说! 当年的electron啊!
微软介绍HTA的文章Introduction to HTML Applications (HTAs),
显示不一样好像是同一篇的: Introduction to HTML Applications (HTAs), 更新时间是2011年.
wiki的介绍: HTML_Application
看起来不错,但很可能绑定了IE, 所以就被抛弃了...
从搜索结果收录来看,也远远不及electron
- 微软的office.js
JavaScript API for Office reference
很好很强大,但是,只有office 2013以上的版本才支持。