vbscript 脚本编程 VBScript-open-web
很多朋友对于vbscript 脚本编程和VBScript-open-web不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
ActiveX脚本编程的实现方式
应用系统也需要实现一些接口,分别为:IActiveScriptSite和IActiveScriptSiteWindow(可选)。接口IActiveScriptSite是每一个支持脚本语言的应用系统所必须实现的接口,脚本引擎通过它来获取其宿主程序的信息,特别是在解释脚本语言中一些名字时更需要用到这些信息,IActiveScriptSite的接口定义如下:
class IActiveScriptSite: public IUnknown
{
public:
virtual HRESULT GetLCID( LCID*plcid)= 0;
virtual HRESULT GetItemInfo( LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown*ppiunkItem, ITypeInfo*ppti)= 0;
virtual HRESULT GetDocVersionString(BSTR*pbstrVersion)= 0;
virtual HRESULT OnScriptTerminate(const VARIANT*pvarResult, const EXCEPINFO*pexcepinfo)= 0;
virtual HRESULT OnStateChange( SCRIPTSTATE ssScriptState)= 0;
virtual HRESULT OnScriptError( IActiveScriptError*pscripterror)= 0;
virtual HRESULT OnEnterScript( void)= 0;
virtual HRESULT OnLeaveScript( void)= 0;
};
在这些成员函数中,GetItemInfo是关键函数,因为脚本引擎管理了一个名字空间,脚本引擎在解释执行过程中,如果需要某个名字的信息,则通过宿主程序的IActiveScriptSite::GetItemInfo函数获取。所以,应用系统通过GetItemInfo成员函数把自己的一些对象暴露给脚本引擎,以便在脚本文件中引用。
IActiveScriptSiteWindow接口是一个可选的接口,如果在脚本文件中要用到用户接口UI特性,则应用系统应该实现IActiveScriptSiteWindow接口,其定义很简单,如下:
class IActiveScriptSiteWindow: public IUnknown
{
public:
virtual HRESULT GetWindow( HWND*phwnd)= 0;
virtual HRESULT EnableModeless( BOOL fEnable)= 0;
};
脚本引擎通过GetWindow成员函数获取宿主窗口句柄,作为脚本中弹出窗口的父窗口。
除了应用系统需要实现上面两个接口用作它与脚本引擎之间的通讯之外,脚本引擎也实现了一组接口用作两者之间的通讯,这组接口包括:IActiveScript、IActiveScriptParse和其它一些用于调试、状态管理或者错误处理的接口,IActiveScript和IActiveScriptParse是必须实现的接口,以下是它们的定义:
class IActiveScript: public IUnknown
{
public:
virtual HRESULT SetScriptSite( IActiveScriptSite*pass)= 0;
virtual HRESULT GetScriptSite( REFIID riid, void**ppvObject)= 0;
virtual HRESULT SetScriptState( SCRIPTSTATE ss)= 0;
virtual HRESULT GetScriptState( SCRIPTSTATE*pssState)= 0;
virtual HRESULT Close( void)= 0;
virtual HRESULT AddNamedItem( LPCOLESTR pstrName, DWORD dwFlags)= 0;
virtual HRESULT AddTypeLib( REFGUID rguidTypeLib, DWORD dwMajor, DWORD dwMinor, DWORD dwFlags)= 0;
virtual HRESULT GetScriptDispatch( LPCOLESTR pstrItemName, IDispatch**ppdisp)= 0;
virtual HRESULT GetCurrentScriptThreadID( SCRIPTTHREADID*pstidThread)= 0;
virtual HRESULT GetScriptThreadID( DWORD dwWin32ThreadId,SCRIPTTHREADID*pstidThread)= 0;
virtual HRESULT GetScriptThreadState( SCRIPTTHREADID stidThread, SCRIPTTHREADSTATE*pstsState)= 0;
virtual HRESULT InterruptScriptThread( SCRIPTTHREADID stidThread,const EXCEPINFO*pexcepinfo, DWORD dwFlags)= 0;
virtual HRESULT Clone( IActiveScript**ppscript)= 0;
};
class IActiveScriptParse: public IUnknown
{
public:
virtual HRESULT InitNew( void)= 0;
virtual HRESULT AddScriptlet( LPCOLESTR pstrDefaultName,LPCOLESTR pstrCode, LPCOLESTR pstrItemName, LPCOLESTR pstrSubItemName, LPCOLESTR pstrEventName, LPCOLESTR pstrDelimiter, DWORD dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, BSTR*pbstrName, EXCEPINFO*pexcepinfo)= 0;
virtual HRESULT ParseScriptText( LPCOLESTR pstrCode, LPCOLESTR pstrItemName,IUnknown*punkContext, LPCOLESTR pstrDelimiter,DWORD dwSourceContextCookie, ULONG ulStartingLineNumber,DWORD dwFlags, VARIANT*pvarResult,EXCEPINFO*pexcepinfo)= 0;
};
应用系统通过IActiveScript接口控制脚本引擎的各种行为,也可以获取引擎的各种状态。通常,应用系统首先调用IActiveScript::SetScriptSite成员函数把自身实现的IActiveScriptSite接口传递给引擎,以后引擎就通过该接口与应用系统通讯。而应用系统也可以通过IActiveScript的其它成员函数获取或者设置引擎的运行状态。接口IActiveScriptParse用于对脚本代码的操作,应用系统利用IActiveScriptParse接口装入脚本代码。
在介绍了应用系统和脚本引擎所实现的一些关键接口之后,我们再进一步看看应用系统和脚本引擎的协作过程:
(1)创建必要的受控对象,这些受控对象是指将要在脚本文件中引用到的Automation对象,通常是应用系统的文档对象,也可以是某些ActiveX控制;
(2)创建引擎对象,不同的脚本语言使用不同的引擎对象,通常我们使用VBScript引擎或者JavaScript引擎,创建得到的接口指针是应用系统控制引擎的惟一途径;
(3)装入脚本文件,调用引擎的IActiveScriptParse接口的ParseScriptText成员函数把脚本代码装入到引擎中,注意ParseScriptText成员函数只接收UNICODE字符串,如果程序中用到了ANSI字符串,则需要进行转换才能装入到引擎中;
(4)加入名字项,凡是应用系统中要暴露给脚本文件的所有对象都需要加入到引擎的名字空间中,可以通过调用IActiveScript接口的AddNamedItem成员函数来完成;
(5)启动引擎,以便运行脚本,直接调用IActiveScript::SetScriptState成员函数使其进入连接状态(运行状态)即可;
(6)引擎在执行脚本时,首先处理其名字空间中的名字项,调用应用系统IActiveScriptSite接口的GetItemInfo成员函数获取每一个名字所对应的受控对象的信息,主要是COM接口;如果在脚本中有事件控制函数的话,则还要获取受控对象的类型信息;
(7)在脚本执行过程中,当特定的事件发生时,引擎中的事件控制函数就要被调用;
(8)在脚本执行过程中,有可能会调用到受控对象的属性和方法,则引擎会通过它所获取的对象接口调用IDispatch::Invoke成员函数;
如果应用系统希望终止引擎的执行过程,可以调用IActiveScript::SetScriptState成员函数使其进入非运行状态即可。
以上的步骤基本上反映了应用系统和引擎之间的协作过程。在实际使用过程中,可以根据情况的不同灵活应用。
脚本编辑器是什么
脚本编辑器有什么用? 5分
脚本编辑器就是一个编辑器,一般能针对某些脚本提供特殊的功能,比如代码着色,自动补全等。
脚本是什么?怎么编写脚本?
脚本:写剧本的人,也叫故事构成。
脚本英文为Script。实际上脚本就是程序,一般都是有应用程序提供的编程语言。应用程序包括浏览器(JavaScript、VBScript)、多媒体创作工具,应用程序的宏和创作系统的批处理语言也可以归入脚本之类。脚本同我们平时使用的VB、C语言的区别主要是:
1、脚本语法比较简单,比较容易掌握;
2、脚本与应用程序密切相关,所以包括相对应用程序自身的功能;
3、脚本一般不具备通用性,所能处理的问题范围有限。
脚本,英文名为Script,简单地说,脚本就是指通过记事本程序或其它文本编辑器(如Windows Script Editor,EditPlus等)创建,并保存为特定扩展名(如.reg,.vbs,.js,.inf等)的文件,对于注册表脚本文件就是利用特定的格式编辑的.reg文件;对于VBScript脚本编程语言来说,脚本文件扩展名就是.vbs;对于JScript脚本编程语言来说,脚本文件扩展名就是.js;另外,.wsf格式是Microsoft定义的一种脚本文件格式,即Window Script File.
具体地说,脚本通过利用应用程序或工具的规则和语法来表达指令,以控制应用程序(包括注册表程序)中各种元素的反应,也可以由简单的控制结构(例如循环语句和If/Then语句)组成,这些应用程序或工具包括网页浏览器(支持VBScript,Jscript),多媒体制作工具,应用程序的宏(比如Office的宏)以及我们熟悉的注册表工具(regedit.exe)等.操作系统中的批处理也可以归入脚本之列,批处理程序也经常由Windows环境中的"脚本"替换,所以又称脚本是"Windows时代的批处理".
脚本的作用在每一种应用程序中起的作用都是不一样的,比如在网页中可以实现各种动态效果,各种特效处理,实现各种HTML不能实现的功能.而在Office组件中,我们会经常看到"宏"这个工具,它其实就是一系列命令和指令可以实现任务执行的自动化.
脚本多以“vbs”、“bat”结尾。可以用“记事本”或“按键精灵”编辑。
microsoft脚本编辑器的microsoft脚本编辑器的应用
microsoft脚本编辑器通常用来解决一些很基层的EXCEL的问题。示例一需要将下面多行多列的变为1列要将多行多列的数变成1列。这个问题通常是用函数来解决的。我们先来看看函数的解法。E1=INDEX($A$1:$C$11,INT((ROW()-1)/3)+1,MOD(ROW()-1,3)+1)(这是我写的一个函数,写得复杂大家多指教)尽管这个函数也不算复杂,但是要用到index,mod等函数,还要计算行列以确定除数和被除数。着实有些复杂。再来看看脚本编辑器中是如何处理此类问题的。1、打开脚本编辑器——按Ctrl+H,调出查找/替换对话框(或是按【编辑】-【查找和替换】).然后查找td,替换成tr,全部替换。 2、再回到excel界面,界面上弹出一个刷新工具栏,点击”刷新”,看到了什么,多行多列已经转化为了1列。(这个1列实际上是3列合并单元格后形成的,可点击工具栏的【合并居中按钮】来取消。)看,用脚本编辑器就是这么简单,只需要简单的替换和刷新两步。示例二替换批注的内容我们知道,查找替换功能可能快速进行替换。可是对于批注中的内容,则无法进行替换。可以用脚本编辑器来解决这个问题。
大家都是用什么编辑器编写脚本的
dreameaver
问下这是什么脚本语言,什么编辑器可以看
好像是易语言
shell脚本用什么编辑器
用 Linux,vim几乎是不二之选。
当然,Windows上也有很多编辑器支持多种编程语言的语法高亮,如 NotePad++,SciTE等
maya脚本编辑器具体有什么作用?
blog.163/...07501/
编辑器具有一种可视化的脚本编写工具,它叫什么
的所见即所得网页编辑器,是一种可视化网页制作工具,利用它可以轻松地制作出...Active Server Pages(ASP)是服务器端脚本编写环境,是由Server端脚本、对象...
大家写shell脚本用什么编辑器
我的vi会自动高亮显示的。前提是你的shell第一行类似#!/bin/sh,保存后再打开,vi就会高亮及自动对齐等了
电子表格中脚本编辑器是干什么的
在Microsoft Office Exce丹 2003及以前版本中的一个组件,后来由于安全性问题删去了。
Microsoft脚本编辑器是microsoft office 2003的一个独立组件。在安装microsoft office 2003软件完整版的时候,会独立安装该组件。该组件可以解决许多office基础和底层的问题。
Windows 7脚本编程和命令行工具指南的内容简介
Windows 7及其之前的Vista版本都带有脚本命令、批处理文件和命令行工具,这些工具可以帮助管理员更轻松地完成任务,大大提高工作效率。本书通过大量实例,深入浅出地讲解这些工具,为广大Windows用户揭开这些工具的神秘面纱。
本书主要内容包括三大部分:第一部分介绍Windows Script Host工具,包括VBScript编程语言、对象的使用、编写和调试脚本等,提供了Windows很多脚本编程对象的详细参考。第二部分介绍用来编写批处理文件的Windows命令语言,包括命令行环境、MS-DOS模拟、通过管理工具来修改命令环境的方法,还给出Windows提供的20多种重要的命令行程序的指南。第三部分介绍Windows PowerShell的基础知识、编程和应用,掌握管理Windows工作站、服务器和应用程序的快捷方法。
本书内容丰富,实例众多,适合Windows高级用户、系统管理员、开发人员参考。
关于本次vbscript 脚本编程和VBScript-open-web的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。