VBScript程序控制Word格式文档下载.docx
- 文档编号:15723998
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:30
- 大小:336.33KB
VBScript程序控制Word格式文档下载.docx
《VBScript程序控制Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VBScript程序控制Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
文字对象使用Div来定义,同时定义了一些显示样式,名称为divMove。
整个脚本代码由两个过程和一个函数构成:
函数Move()—实现对象divMove(待移动的文字对象)的移动,移动实际上是通过不断地改变divMove对象的posleft属性来实现的:
divMove.style.posleft=divMove.style.posleft-10
文字的循环移动中使用了Windows对象的setTimeOut方法,每隔0.05秒调用函数Move()自身一次。
代码中使用的判断结构来实现文字移动到边缘时的复位。
过程Button1_onClick—响应按钮Button1单击时的过程脚本,该脚本实际上只有一句,启动文字移动过程。
过程divMove_onMoveOver—鼠标指向divMove文字对象时的过程脚本,其目的是将divMove对象复位重新开始移动。
本网页中还使用了表单对象,用于定义一个命令按钮以启动文字的移动。
VBS08_01.htm代码(移动的文字)
<
html>
head>
title>
移动的文字<
/title>
/head>
bodybgcolor="
#C0C0C0"
>
divID="
divMove"
style="
position:
absolute;
top:
10%;
text-align:
center;
font-size:
30;
font-weight:
bold;
color:
#ff4678;
"
<
p>
友缘相聚<
/p>
/div>
scriptLANGUAGE="
VBScript"
functionmove()
IfdivMove.style.posleft=0then
divMove.style.posleft=700anddivMove.style.posleft=divMove.style.posleft+0
Else
divMove.style.posleft=divMove.style.posleft-10
Endif
Settimeout"
move()"
50
endfunction
subdivMove_onmouseover
divMove.style.left=700
divMove.style.posleft=divMove.style.posleft+null
endsub
subbutton1_onclick
/script>
form>
inputname="
button1"
type="
BUTTON"
value="
试试看"
/form>
/body>
/html>
[相关知识]
函数或过程是VBScript程序的基本组成单元,它一方面可以使程序有清晰的结构;
另一方面也提高了程序的效率。
从上面的实例可以看出,无论是函数还是过程都具有一定的结构。
函数与过程必须先定义后调用,而且一经定义即可多次调用,提高了脚本的效率。
过程的定义:
Sub过程名[(参数1,参数2,……参数n)]
过程体
EndSub
函数的定义:
Function函数名[(参数1,参数2,……参数n)]
函数体
函数名=表达式
EndFunction
在进行过程与函数的定义时要注意以下几点:
(1)过程名与函数名必须符合VBScript标识符的有关规定
(2)与内置函数一样,函数与过程都可以带若干个参数,参数间以逗号隔开,这些参数代表的是传递给过程或函数进行处理的数据,称为形式参数(形参)。
当然也可以不带参数,此时“()”可以省略。
(3)在进行函数定义时,一般需要有“函数名=表达式”,将运算的结果送到函数名中以返回给调用程序。
(4)由于VBScript也是属于面向对象的语言,因此也有许多事件、方法是以过程的形式出现的,对于这些过程其名称与参数都是固定的,用户不能随便修改,如实例中的divMove_onmouseover过程。
过程的调用:
过程的调用基本有两种方式:
(1)Call过程名[(参数1,参数2,……参数n)]
(2)过程名[参数1,参数2,……参数n]
对于事件过程的调用与一般的过程调用不同,它是与事件联系在一起的,只有当该事件发生时,相应的事件过程才会执行。
关于事件过程详见单元九。
过程调用也属于VBScript语句,因此也应该放置在脚本之间。
调用语句中出现的参数通常称为实际参数(实参),其与形参应保持一一对应的关系:
位置、类型、个数。
函数的调用:
函数的调用与VBScript的内置标准函数的调用方法相同,即函数只能出现在表达式中,不能以单独的语句形式出现。
参数的传递与过程调用相同。
VBS08_02.htm是一个过程与函数使用的实例。
这是一个可以随机生成10以内加减的小学生算术题的程序。
整个程序由一个主控程序、两个函数与一个过程构成。
rndNumber随机生成一个10以内的整数,rndOperator随机生成加法或减法算符,showMsg(strMsg)显示所生成的算式。
主控程序首先调用rndNumber与rndOperator函数以生成两个操作数与算符,接着要判断所生成算式的合法性(运算结果不能为负数),如不合法则重新生成(通过一个循环结构)。
生成合法的算式后,再调用showMsg过程显示在页面上。
在进行函数或过程定义时,可以包括一个或多个参数,这些参数是提供给过程或函数进行处理的数据。
但由于在函数或过程在被调用之间并不知道这些参数的具体值,只有在被调用时才能确定,因此,将这些参数称为“形式参数”(形参)。
当然形式参数并不是必需的,有时候也可以定义无参数的过程或函数。
例如在VBS08_02.htm中,定义的信息显示过程:
subshowMsg(strMsg)中的strMsg即为一个形式参数。
当一个过程或函数在定义时使用了形式参数,那么在调用该过程(函数)时就必须提供相应的数据,这些数据通常被称为“实际参数”(实参)。
如:
showMsgstr1中的str1即为实参。
实参可以是具体的值,也可以是表达式。
VBS08_02.htm代码(小学生算术题)
小学算术题<
scriptlanguage="
functionrndNumber
randomize
rndNumber=int(10*rnd)
functionrndOperator
dimrndOp
rndOp=int(2*rnd)
ifrndOp=1then
rndOperator="
+"
else
-"
endif
subshowMsg(strMsg)
document.writestrMsg
document.write
body>
dimnum1,num2,Op1,result,str1
do
num1=rndnumber
op1=rndOperator
num2=rndnumber
ifop1="
then
result=num1-num2
else
result=num1+num2
endif
loopuntilresult>
=0
str1=str1&
num1&
op1&
num2&
"
="
showMsgstr1
[知识扩展]
在VBScript中参数的传递有两种方式:
一种是值传递,另一种是地址传递。
值传递是直接将参数的值传递给过程(函数),因此在过程(函数)中对该值的改变不会影响调用程序中的同变量的值;
而地址传递是将参数的地址传递给过程(函数),在过程(函数)中对该变量值的任何改变都会反映到调用程序中,通过这种方式可以将过程(函数)处理的结果带回。
如果使用了地址传递的参数传送方式,在进行定义时,形参前必须加上“ByRef”关键字。
VBS08_03.htm代码(变量的作用域)
变量的作用域<
SCRIPTLANGUAGE="
Dimx
x=10
FunctionIncrement(lVar)
Dimy
lVar=lVar+1
y=lvar
Document.write"
在函数Increment中Y的值是:
&
Y&
BR>
Increment=lVar
FunctionDecrement(lVar)
lVar=lVar-1
Decrement=lVar
/SCRIPT>
CENTER>
H2>
变量作用域<
/H2>
/CENTER>
Dimy
y=20
Document.Write"
X、Y现在的值分别是:
x&
y&
通过Increment函数的X返回值是:
Increment(x)&
通过Decrement函数的X返回值是:
Decrement(x)&
现在的X值是:
现在的Y值是:
先看一个实例,如VBS08_03.htm,程序运行结果如图8-2所示。
请特别注意两个变量X、Y的变化情况:
在函数定义之外首先定义了变量X、Y,然后将X的值传递到函数中进行处理。
在函数Increment中又定义了一个同名变量Y,将lVar的值送到Y中并显示(12),此Y与函数之外的Y并不是同一个变量,在内存中有不同的内存单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBScript 程序控制
![提示](https://static.bdocx.com/images/bang_tan.gif)