ASP脚本语言(共3篇)
ASP脚本语言 篇1
1 编程的关键技术
1) 创建应用对象的实例并引用
每个支持自动化的应用程序都至少提供一种对象类型。例如,Word应用程序提供Application对象,Document对象,Applica-tion对象 ; Excel应用程序提供Application对象,Workbook对象 ,Worksheet对象 ,Range对象等。要在应用程序使用这些对象,要创建应用对象的实例并在程序中引用它们。在ASP中使用Create Object函数创建应用对象实例。
Create Object(class[,servername])
Class参数使用appname.objecttype这种语法
Appname必需的;Variant(字符串)。提供该对象的应用程序名。
Objecttype必需的;Variant(字符串)。待创建对象的类型或类。
Servername可选的;Variant (String). 要在其上创建对象的网络服务器名称。
例如:Set my Excel= Server.Createobject("Excel.Application")
Set wkb = my Excel.Workbooks.Add
本例完成创建一个新的Excel工作簿。
2) Excel的VBA对象
中的对象其实就是我们操作的具有方法、属性的中支持的个体。
Workbooks代表工作簿集合,所有的工作簿;
ActiveWorkbook正在操作的工作簿;
Sheet1表示第一个插入的工作表,Sheet2表示第二个插入的工作表....
ActiveSheet表示活动工作表,光标所在工作表;
Cells所有单元格;
Range ("单元格地址") 使用引用区域确定单元格;
Cells(行数,列数) 使用引用整行、整列确定单元格;
3) VBA属性
是VBA对象所具有的特点,表示某个对象的属性是:对象. 属性=属性值。例如:Wkb.ActiveChart.ChartType = xlColumnClus-tered‘设置图表格式
4) VBA方法
是作用于VBA对象上的动作,表示用某个方法作用于VBA的对象上。
例如:Wkb.Charts.Add '创建图表
2 程序设计目标
使用ASP脚本创建Excel图表以帮助展示数据,示例文件Charinasp.asp代码中使用Microsoft Excel图表向导来创建图表。将Charinasp.asp上传到IIS服务器根目录C:Excel ASP,在浏览器地址栏里输入网址:http:// Charinasp.asp按回车键后浏览器显示由ASP脚本所创建的Excel数据和图表并生成Excel文件。如下图1所示。
3 程序实现
根据上述介绍方法,创建代码文件Charinasp.asp
本示例直接使用ASP往一个空Excel工作表输入数据来创建图表,用户也可从现有的数据库或现有的Excel文件中获取数据来创建Excel图表。
4 结束语
本文以较简单的实例介绍了用ASP和Excel VBA技术开发动态网页的方法,具有使用方便、界面友好特点。它的使用,对于使用Excel的相关人员提供一种思路,通过学习相关的ASP编程技术,就能把用Excel开发出的成果通过ASP编程生成动态网页,来达到资源共享,提高工作效率,在办公软件的使用过程中,发挥自主创造力,充分利用网络和Microsoft Office VBA功能,来提高信息化水平。
摘要:动态服务器页面(ASP)是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的网络编程工具。它的主要功能是将脚本语言、HTML、组件和Web数据库访问功能有机地结合在一起,形成一个能在服务器端运行的应用程序,该应用程序可根据来自浏览器端的请求生成相应的HTML文档并回送给浏览器。使用ASP能够创建以HTML网页作为用户界面,并能够与数据库进行交互的Web应用程序。Excel是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,也可以将工作表中的数据用图表形式表示出来,图表可以使数据更加直观、有趣、吸引人、易于阅读和评价也可以帮助我们分析和比较数据。用ASP和VBA技术把Excel图表显示在网页上,能使Excel图表的功能得到更加广泛的应用。
关键词:ASP,HTML,VBA,Excel图表
ASP脚本语言 篇2
#include”ifx.h“//不能移动
//////////////////////////////////////////////////////////////////////////////
//用InstallShield进行ASP软件的打包和自动安装
//原创作者:贾俊(Jaron)
//网址:www.jiangdu.net
//邮件:jaron@jdinfo.net
//首次发表于网易,ChinaASP,ASPHouse
//////////////////////////////////////////////////////////////////////////////
//功能:
//1.文件复制
//2.可选自动设置独立站点运行(设置IIS)
//3.可选自动设置虚拟站点运行(设置IIS)
//4.设置目录可读,可写及可运行脚本
//5.自动创建ODBC
//6.自动创建或附加MDF格式的SQL数据库并优化
//7.自动安装ScriptEncode解码程序
//本文仅列出了InstallShield的Script部分,还有两个VBS文件及其他设置
//测试过程中有任何问题,请来www.jiangdu.net/bbs编程空间版讨论
//////////////////////////////////////////////////////////////////////////////
prototypeCreateDataBase(STRING,STRING,STRING);
prototypeCreateWebSite(STRING,STRING);//创建IIS站点
prototypeCreateVirtualDir(STRING);//创建虚拟目录
//////////////////////////////////////////////////////////////////////////////
//
//函数:OnFirstUIBefore
//
//事件:FirstUIBeforeeventissentwheninstallationisrunforthefirst
//timeongivenmachine.Inthehandlerinstallationusuallydisplays
//UIallowingendusertospecifyinstallationparameters.Afterthis
//functionreturns,ComponentTransferDataiscalledtoperformfile
//transfer.
//
///////////////////////////////////////////////////////////////////////////////
functionOnFirstUIBefore
NUMBERnResult,nSetupType,nOpt,svEdit1,svEdit2;
STRINGszTitle,szMsg,szBmpPath;
STRINGszLicenseFile,szQuestion;
STRINGszServerIP,szServerPort,szServerIPDefault,szServerPortDefault;
STRINGszSQLsvr,szSQLusr,szSQLpwd,svSQLsvr,svSQLusr,svSQLpwd;
STRINGsvName,svCompany,svSerial;
STRINGszFile,szTargetPath,szDir,szfolder;
STRINGszComponents,szTargetdir;
STRINGszField1,szField2;
STRINGszDefault,svResult;
OBJECTpiisObj;
LISTlist,listStartCopy;
NUMBERnLevel,nvSize;
begin
szBmpPath=”C:“^”temp“^”left.bmp“;
DialogSetInfo(DLG_INFO_ALTIMAGE,szBmpPath,TRUE);//设置左边的图片
//ToDo:ifyouwanttoenablebackground,windowtitle,andcaptionbartitle
//SetTitle(@TITLE_MAIN,24,WHITE);
//SetTitle(@TITLE_CAPTIONBAR,0,BACKGROUNDCAPTION);
//Enable(FULLWINDOWMODE);
//Enable(BACKGROUND);
//SetColor(BACKGROUND,RGB(0,128,128));
//默认值设定
TARGETDIR=”C:“^”inetpub“^”JaronSoft“^@FOLDER_NAME;
szDir=TARGETDIR;
SHELL_OBJECT_FOLDER=@FOLDER_NAME;
svName=”试用版用户“;
svCompany=”JDinfoNetwork“;
svSerial=”111-1111111“;
Dlg_Start:
//beginningofdialogslabel
Dlg_SdWelcome://欢迎对话框
szTitle=”欢迎进入“;
szMsg=”“;
nResult=SdWelcome(szTitle,szMsg);
if(nResult=BACK)gotoDlg_Start;
Dlg_SdLicense://软件许可协议对话框
szLicenseFile=SUPPORTDIR^”license.txt“;
szTitle=”许可协议“;
szMsg=”“;
szQuestion=”“;
nResult=SdLicense(szTitle,szMsg,szQuestion,szLicenseFile);
if(nResult=BACK)gotoDlg_SdWelcome;
Dlg_SdShowInfoList://readme文件对话框
szFile=SUPPORTDIR^”infolist.txt“;
list=ListCreate(STRINGLIST);
ListReadFromFile(list,szFile);
szTitle=”README“;
szMsg=”“;
nResult=SdShowInfoList(szTitle,szMsg,list);
ListDestroy(list);
if(nResult=BACK)gotoDlg_SdLicense;
Dlg_SdRegisterUserEx://用户信息对话框
szMsg=”“;
szTitle=”用户信息“;
nResult=SdRegisterUserEx(szTitle,szMsg,svName,svCompany,svSerial);
if(nResult=BACK)gotoDlg_SdShowInfoList;
//检查序列号
//if(CHK_serial(svCompany,svSerial)<0)then
//gotoDlg_SdRegisterUserEx;
//endif;
//检查序列号完毕
Dlg_SdAskDestPath://安装位置对话框
szTitle=”检查序列号“;
szMsg=”“;
nResult=SdAskDestPath(szTitle,szMsg,szDir,0);
TARGETDIR=szDir;
if(nResult=BACK)gotoDlg_SdRegisterUserEx;
Dlg_SetupType://安装类型对话框
nSetupType=TYPICAL;
szTitle=”安装类型“;
szMsg=”请选择您需要按哪种方式安装“;
nResult=SetupType(szTitle,szMsg,”“,nSetupType,0);
if(nResult=BACK)then
gotoDlg_SdAskDestPath;
else
nSetupType=nResult;
if(nSetupType!=CUSTOM)then
szTargetPath=TARGETDIR;
nvSize=0;
ComponentCompareSizeRequired(MEDIA,szTargetPath,nvSize);
if(nvSize!=0)then
MessageBox(szSdStr_NotEnoughSpace,WARNING);
gotoDlg_SetupType;
endif;
endif;
endif;
Dlg_SdComponentTree://对话框
if((nResult=BACK)&&(nSetupType!=CUSTOM))gotoDlg_SetupType;
szTitle=”对话框“;
szMsg=”“;
szTargetdir=TARGETDIR;
szComponents=”“;
nLevel=2;
if(nSetupType=CUSTOM)then
nResult=SdComponentTree(szTitle,szMsg,szTargetdir,szComponents,nLevel);
if(nResult=BACK)gotoDlg_SetupType;
endif;
Dlg_SdSelectFolder://对话框
szfolder=SHELL_OBJECT_FOLDER;
szTitle=”文件夹“;
szMsg=”“;
nResult=SdSelectFolder(szTitle,szMsg,szfolder);
SHELL_OBJECT_FOLDER=szfolder;
if(nResult=BACK)gotoDlg_SdComponentTree;
Dlg_SelMode://设置数据库服务器对话框
szTitle=”设置“+@PRODUCT_NAME+”的运行模式“;
szMsg=”请选择软件运行的方式,极力推荐使用独立站点方式运行“;
szField1=”独立站点方式运行(自动创建新站点)“;
szField2=”虚拟目录方式运行(自动创建虚拟目录)“;
svEdit1=TRUE;
svEdit2=FALSE;
SetDialogTitle(DLG_ASK_TEXT,szTitle);
//DialogSetInfo(DLG_INFO_CHECKSELECTION,”“,1);
nOpt=EXCLUSIVE;
nResult=AskOptions(nOpt,szMsg,szField1,svEdit1,szField2,svEdit2);
if(nResult=BACK)gotoDlg_SdSelectFolder;
if(svEdit1=FALSE)gotoDlg_SdStartCopy;
Dlg_AskText://设置数据库服务器对话框
szTitle=”设置IIS信息服务及数据库服务器“;
szMsg=”现在开始设置IIS系统“;
szQuestion=”请输入本服务器的主机名或IP地址,安装程序将按照您提供的资料设置IIS信息服务,
用InstallShield打包ASP程序的脚本
,
如果您没有填写,安装程序将自动跳过站点的创建!“;
szServerIP=”地址:“;
szServerPort=”端口:“;
szServerIPDefault=”192.168.0.1“;
szServerPortDefault=”80“;
SetDialogTitle(DLG_ASK_TEXT,szTitle);
nResult=SdShowDlgEdit2(szTitle,szQuestion,szServerIP,szServerPort,szServerIPDefault,szServerPortDefault);
if(nResult=BACK)gotoDlg_SelMode;
Dlg_AskSQL://设置数据库服务器对话框
szTitle=”设置数据库“;
szMsg=”现在开始设置MicrosoftSQLServer数据库系统“;
szQuestion=”请输入SQLSERVER数据库服务器的用户名和密码,安装程序将按照您上步提供的IP地址和下面的用户名和密码创建和优化数据库系统。如果您提供的用户名和密码是错误的,安装程序将自动跳过数据的设置!“;
szSQLsvr=”主机名:“;
szSQLusr=”用户名:“;
szSQLpwd=”密码:“;
svSQLsvr=”localhost“;
svSQLusr=”sa“;
szSQLpwd=”“;
SetDialogTitle(DLG_ASK_TEXT,szTitle);
nResult=SdShowDlgEdit3(szTitle,szQuestion,szSQLsvr,szSQLusr,szSQLpwd,svSQLsvr,svSQLusr,svSQLpwd);
if(nResult=BACK)gotoDlg_SelMode;
Dlg_SdStartCopy://开始复制文件对话框
szTitle=”开始复制文件“;
szMsg=”点击下一步开始复制文件“;
listStartCopy=ListCreate(STRINGLIST);
ListAddString(listStartCopy,”用户名:“+svName,AFTER);
ListAddString(listStartCopy,”公司名称:“+svCompany,AFTER);
ListAddString(listStartCopy,”序列号:“+svSerial,AFTER);
ListAddString(listStartCopy,”目标目录:“+szDir,AFTER);
if(svEdit1=TRUE)then
ListAddString(listStartCopy,”IP地址:“+szServerIPDefault,AFTER);
ListAddString(listStartCopy,”端口号:“+szServerPortDefault,AFTER);
endif;
ListAddString(listStartCopy,”请确认您填写的信息,按下一步开始复制文件“,AFTER);
nResult=SdStartCopy(szTitle,szMsg,listStartCopy);
ListDestroy(listStartCopy);
if(nResult=BACK)gotoDlg_AskText;
//setupdefaultstatus
SetStatusWindow(0,”“);
Enable(STATUSEX);
StatusUpdate(ON,100);
if(svEdit1=TRUE)then
CreateWebSite(szServerIPDefault,szServerPortDefault);//开始创建IIS站点
endif;
if(svEdit2=TRUE)then
CreateVirtualDir(”NetOA“);//开始创建IIS站点
endif;
CreateDataBase(svSQLsvr,svSQLusr,svSQLpwd);//创建和优化数据库
return0;
end;
//////////////////////////////////////////////////////////////////////////////
//
//函数:OnFirstUIAfter
//
//事件:FirstUIAftereventissentafterfiletransfer,wheninstallation
//isrunforthefirsttimeongivenmachine.Inthiseventhandler
//installationusuallydisplaysUIthatwillinformenduserthat
//installationhasbeencompletedsuccessfully.
//
///////////////////////////////////////////////////////////////////////////////
functionOnFirstUIAfter()
STRINGszTitle,szMsg1,szMsg2,szOption1,szOption2,szCmdLine;
NUMBERbOpt1,bOpt2;
begin
//set_vod_liveaddress();
szCmdLine=SUPPORTDIR^”SCE10CHS.EXE“;
if(LaunchAppAndWait(szCmdLine,”/q“,WAIT)<0)then
MessageBox(”不能安装解码程序,请联系供应商.“,SEVERE);
endif;
Disable(STATUSEX);
bOpt1=FALSE;
bOpt2=FALSE;
szMsg1=SdLoadString(IFX_SDFINISH_MSG1);
szMsg2=”请浏览本主机WEB服务器上的“+@PRODUCT_NAME+”虚拟目录例:Localhost/“;
szOption1=”“;
szOption2=”“;
szTitle=@PRODUCT_NAME+”安装完成“;
SdFinishEx(szTitle,szMsg1,szMsg2,szOption1,szOption2,bOpt1,bOpt2);
szCmdLine=”LocalHost“;
//if(LaunchApp(PROGRAMFILES^”InternetExplorer“^”IEXPLORE.EXE“,szCmdLine)<0)then
//MessageBox(”不能打开浏览器.“,SEVERE);
//endif;
return0;
end;
//////////////////////////
//创建IIS站点
//////////////////////////
functionCreateWebSite(szServerIPDefault,szServerPortDefault)
STRINGszCmdLine,szWaitTxt;
begin
if((szServerIPDefault=”“)||(szServerPortDefault=”“))then
MessageBox(”您没有设定“+@PRODUCT_NAME+”运行的服务器IP地址或端口!!IIS信息服务设置失败!请自行创建IIS站点,并将主目录设为:“+TARGETDIR,SEVERE);
else
szWaitTxt=”正在创建IIS和设置站点....“;
SdShowMsg(szWaitTxt,TRUE);
Delay(2);
szCmdLine=SUPPORTDIR^”mkw3site.vbs“+”-r“+TARGETDIR+”-i“+szServerIPDefault+”-o“+szServerPortDefault+”-t“+@PRODUCT_NAME;
if(LaunchAppAndWait(”WScript.exe“,szCmdLine,WAIT)<0)then
MessageBox(”不能建立WEB虚拟目录,没有找到WScript.exe或执行脚本错误.“,SEVERE);
endif;
SdShowMsg(szWaitTxt,FALSE);
endif;
return0;
end;
//////////////////////////
//创建虚拟目录
//////////////////////////
functionCreateVirtualDir(VirtualFolder)
STRINGszCmdLine,szWaitTxt;
begin
if(VirtualFolder=”“)then
MessageBox(”没能读取到虚拟目录的名称!请联系系统供应商!“+TARGETDIR,SEVERE);
else
szWaitTxt=”正在创建“+@PRODUCT_NAME+”的虚拟目录....“;
SdShowMsg(szWaitTxt,TRUE);
Delay(2);
szCmdLine=SUPPORTDIR^”mkwebdir.vbs“+”-w1-v“”+VirtualFolder+“”,“”+TARGETDIR+“”“;
if(LaunchAppAndWait(”WScript.exe“,szCmdLine,WAIT)<0)then
MessageBox(”不能建立WEB虚拟目录,没有找到WScript.exe或执行脚本错误.“,SEVERE);
endif;
SdShowMsg(szWaitTxt,FALSE);
endif;
return0;
end;
//////////////////////////
//创建和优化数据库
//////////////////////////
functionCreateDataBase(svSQLsvr,svSQLusr,svSQLpwd)
STRINGszCmdLine,szWaitTxt;
begin
szWaitTxt=”正在创建“+@PRODUCT_NAME+”所需数据库....“;
SdShowMsg(szWaitTxt,TRUE);
Delay(2);
szCmdLine=”/U“+svSQLusr+”/P“+svSQLpwd+”/S“+svSQLsvr+”/Q“execsp_attach_dbN‘OASystem‘,N‘”+SUPPORTDIR^“OASystem_data.mdf‘”“;
if(LaunchAppAndWait(”osql.exe“,szCmdLine,WAIT)<0)then
MessageBox(”数据库创建失败!请确您的系统中已安装MicrosoftSQLServer.如仍无法解决,请联系系统供应商!“,SEVERE);
endif;
SdShowMsg(szWaitTxt,FALSE);
szWaitTxt=”正在优化“+@PRODUCT_NAME+”系统数据库....“;
SdShowMsg(szWaitTxt,TRUE);
Delay(2);
szCmdLine=”/U“+svSQLusr+”/P“+svSQLpwd+”/S“+svSQLsvr+”/Q“useOASystem;execsp_updatestats”“;
if(LaunchAppAndWait(”osql.exe“,szCmdLine,WAIT)<0)then
MessageBox(”数据库优化失败!您可以在sql查询分析器中执行useOASystem;execsp_updatestats完成!“,SEVERE);
endif;
SdShowMsg(szWaitTxt,FALSE);
return0;
Perl概述自动测试脚本语言 篇3
Perl是Practical Extraction and Report Language(实用摘录和报告语言)的简称,是由Larry Wall所发展的。其最新版本为5.6。Perl的设计目标是帮助UNIX用户完成一些常见的任务,这些任务对于shell来说过于沉重或对移植性要求过于严格。
Perl是按GNU Public License的形式分发的,其实质是免费的,原先运行于UNIX和类UNIX系统,现在已可以方便地在OS/2,Windows9x,Windows/NT等系统下运行。
Perl是解释运行的,一般Perl程序的第一行需注明自己是一个Perl程序而不是shell程序,所以一般将下面一行语句:
#! /usr/bin/perl
作为文件的第一行。
第一个Perl程序
就拿各类书籍最常用显示”Hello! Welcome!“程序来说吧。下面是其源程序:
#! /usr/bin/perl
print ”你好!欢迎光临网络教室! n“;
这里的第一行说明了这是一个Perl程序,它也是Perl的注释,注释是从#开始至该行结束的所有文字。第二行是程序的可执行部分,这里只有一条print语句,如果你学过C语言,就能很快掌握它。
MILY: 宋体; mso-bidi-font-family: 宋体”>提问并保留结果
在此基础上做稍微复杂一点的改变,我们使该程序按你的名字打招呼。要做到这一点,需要一个变量来存放姓名。我们使用$name来保存姓名。
#!/usr/bin/perl
print “请问您的姓名?”;
$name=;
chop($name);
print “你好, $name,欢迎光临网上学园!n”;
这里第三行表示从终端获得行输入并赋值给$name,这里的$name的值有一个换行符,第四行chop($name)表示去掉$name的最后一个字符(即换行符),
第五行显示输入。
增加选择
现在让我们为园主zmd编写一个特殊的欢迎辞,而对其他人则采用普通欢迎辞。要达到这样的效果必须将输入的姓名与zmd作比较,如果相同则执行特殊功能。
#!/usr/bin/perl
print “请问您的姓名?”;
$name=;
chop($name);
if ($name eq “zmd”){
print “欢迎zmd进入本系统!n”;
} else {
print “你好, $name,欢迎光临网上学园!n”;
}
这里第五行用eq操作符对两个字符串进行比较,相同则执行下一句,否则执行else下的语句(是不是和C语言差不多?)。
猜测密码
现在已经可以对zmd发不同的欢迎辞,但如何加上密码来控制权限呢?比如说,可以让除zmd以外的人都必须输入密码直到正确为止:
#!/usr/bin/perl
$password=“wsxy”; #密码为wsxy
print “请问您的姓名?”;
$name=;
chop($name);
if ($name eq “zmd”){
print “欢迎zmd进入本系统!n”;
} else {
print “你好, $name!n请输入密码:”;
$guess=;
chop($guess);
while ($guess ne $password){
print “密码错误,请重新输入:”;
$guess=;
chop($guess);
}
}
这里先将密码保存在标量变量$password中,然后当不是zmd登录后,先显示欢迎语句,然后要求输入密码,通过ne操作符将输入结果和$password相比较,密码相同则退出,不同则一直循环下去。