excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel中使用JavaScript的方法

基础篇 Excel的缺省脚本语言是VBA,所以系统的一切接口理论上都是可以通过VBA脚本访问的,而使用其他脚本语言可能只能访问部分功能,这点是需要开发者明确的。但是Javascript脚本的好处是,其语法简单,结构清晰,用户友好:例如支持Function-Frist,不必管理内存,支持Object类型,for循环语法简单等。 使用JavaScript基本方法 1. 在引用中包含"Microsoft Script Control"控件添加支持MS Script Control控件2. 新建ScriptControl,即创建一个JS运行环境 3. 在JS运行环境中添加JavaScript脚本(字符串) 4. 调用JS运行环境中的函数使用JavaScript的基本方法实际项目中的问题 在VBA脚本中以字符串形式定义JavaScript脚本/程序带来很大的麻烦: 字符串较长的时候,需要换行,VBA本身换行需要在每行加连接符。JavaScript程序的换行,只能通过转义符号表示。JavaScript代码的管理、维护、检查、甚至调试都无法单独进行。因此在实际项目中,一般要求把JavaScript脚本与VBA脚本分开管理。那么涉及到如何将在VBA中读取的JavaScript脚本问题,一旦得到脚本对应的字符串,就可以将其添加到JS运行环境中。大约有三种方法:(一)JavaScript与Excel文件一起发行。VBA脚本运行时读取本地的JavaScript文件;(二)JavaScript文件放置于服务器中,VBA下载JavaScript文件,并读取。(三)JavaScript文件以某种方式包含于Excel文件中。显然方法(一),(二)更适合开发阶段;而方法(三)适合于实际发布版本。以下介绍几种方法的实现问题。 问题一:读取文件支持UTF-8编码文件一般在VBA中读取文件可以用Open-Input接口或者FileSystemObjectScripting对象的 TextStream接口,但都不支持读取UTF-8编码的文件。而JavaScript脚本文件一般存储为UTF-8编码格式。因此需要特别使用支持该编码的文件读取方式,如例子中使用ADODB.Steam对象支持读取UTF-8编码的文件。 问题二:下载远程文件在VBA中下载远程文件,有两类方式,一种是使用VBA中可以用的某些控件进行下载,另一种是使用操作系统的底层接口下载。一般第二种方法的速度更快,稳定性更好。使用XMLHTTP控件下载文件 使用操作系统的文件下载接口问题三:JavaScript打包在Excel中 问题三.方法一 土人的方法是直接把JavaScript文件拷贝在某个隐藏的Sheet的某个Cell中,VBA读取则个Cell中的字符串,就相当于或许的JavaScript脚本。读取隐藏表中的内容问题三.方法二 把脚本文件以对象方式嵌入(Embed)到Excel文件,再VBA运行时读取嵌入对象。下例中笔者以test.txt后缀名添加的嵌入对象。读取嵌入文件对象的方式也有两种(1)直接用Notepad打开文件,然后读取Notepad中的内容。(2)将嵌入文件存储为本地文件,然后用前面介绍的"读取文件”的方法读取。打开嵌入的文件再拷贝 保存嵌入的文件再读取问题三.方法三方法三是推荐方法。使用Excel中的CustomXMLPart接口,添加、删除、读取定制的XML片段。即将JavaScript文本封装在一个定制的XML片段中。这种方法的好处是:1.简单稳定,2.对用户完全隐藏,3. 不访问文件系统不访问网络。添加CustomXMLPart的示例上例中,在添加之前还有读取CustomXMLParts中是否已经添加了该类型的XMLPart的判断。因为在笔者的应用这确保只添加JavaScript脚本一次。其余CustomXMLPart读取、修改、删除等接口的使用,请查看相关文档。 多个JS文件 类似HTML中可以载入多个Javascript文件。一个JS运行环境中也可以载入多次脚本(字符串)。当然也可以把所有文件的字符串都串接起来再载入JS运行环境。 适用性 据查Office 2016之后,微软才正式提供JavaScript API。笔者在MS-Office2010中使用该方法,能够在JavaScript中获取Cell的几乎所有属性值。但是那些这部分并没有完整的文档。另外数组的创建似乎不能直接使用var x = [],而需要var x =new Array();JavaScript代码收集Range信息

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接