vb script中遇到的问题

上一篇 / 下一篇  2011-02-23 17:11:56 / 个人分类:笔记

1.什么是Option Explicit,以及它的用法?
 答:Option Explicit是用来告诉脚本,脚本中所有的变量都应在这里声明(作用更准确应该是:迫使脚本声明变量)

2.动态数组怎么设置?

3.定义一个变量的时候,什么时候用set,什么时候用Dim/Public/Private呢?
 答:如果要用变量指定一个对象,则用set定义变量。(用来把一个对象指定给某个变量)
  例如:Set UserEditBox = Browser("Mercury Tours").Page("Mercury Tours").WebEdit("username")
    UserEditBox.Set "John"
 如果变量用来指定一个很简单的值,像字符串或者一个数值时,一般用Dim/Public/Private
  例如:Dim passengers
    passengers = Browser("Mercury Tours").Page("Find Flights").WebEdit("numpassengers").GetROProperty("value")

4.方法的参数中,什么状态下需要用括号,什么状态下不需要括号?
 答:以下情况需要括号: (1)存在返回值给变量的时候,需要括号
     例:Set WebEditObj = Browser("Mercury Tours").Page("Method of Payment").WebTable("FirstName").ChildItem (8, 2,           "WebEdit", 0)
      (2)用call来调用方法时
     例:Call RunAction("BookFlight", oneIteration)
      (3)如果if状态存在,方法需要括号
     例:If Browser("index").Page("index").Link("All kind of").WaitProperty("attribute/readyState", "complete", 4)          Then Browser("index").Page("index").Link("All kind of").Click
      (4)如果返回的是检查点的值,也需要括号
     例:a = Browser("MyBrowser").Page("MyPage").Check (CheckPoint("MyProperty"))
 以下情况不需要括号:(1)如果没有返回值
     例:Browser("Mercury Tours").Page("Method of Payment").WebTable("FirstName").Click 3,4

5.什么是自动化对象
 答:自动化对象就是其它的程序的对象,用来增强脚本的功能

6.for each ..next 与 for..next的区别
 答:for each..next。你不需要知道你要循环多少次
  for..next,你需要知道你要循环多少次

7.数组怎样初始化?又怎样访问?
  答:数组的初始化和访问和c语言差不多,不过目前发现只能用for to ...next来访问。

8.if... then.... end if的用法中出现了问题?不能正常运行
 答:具体原因如下:if ...then.... end if必须遵守一定的规则:  (1)if 和then必须在同一行
             (2)then后面不能写语句,要写必须重新开启一行
             (3)在用if..then之后,末尾必须要用end if 结尾 

9.vbscript脚本中的错误处理机制是怎样的?
 答:当在代码中写入On Error Resume Next后,会启用错误处理机制(也就是On Error Resume Next之后的代码,当出现错误时,系统会跳过错误行,去执行下一              行)
 当在代码中写入On Error GoTo 0后,会禁用错误处理机制(也就是On Error GoTo 0之后的代码,当出现错误时,系统会自行处理错误或者提供报错的信息给用            户) 
 不过在On Error Resume Next和On Error GoTo 0代码之间,你可以自己写一些错误处理机制,来判断程序是执行是否正确 

10.vb中方法和事件的区别?
 事件是对象(这里的对象几乎都是窗体控件)所执行的一种特有的动作(在有些资料中称动作),例如单击事件、双击事件等等,对于对象不同,对象的事件是有不同的,当然在对象的事件中,有通用事件,这些通用事件几乎涵盖了所有对象,不同的对象也有不同的事件。事件是由一段代码组成,包含在Sub和End Sub中的,在事件中可以完成一系列任务。
 方法是对象(这里的对象不仅仅包含窗体控件,也包含一些其他对象)在程序中执行的一种可执行的操作,他仅仅是这个对象的一种可执行的操作,一般是"对象.方法"的语句格式,例如打开、保存等等。

11.vb中属性还存在返回值问题吗?
  答:其实是通过对象名而得到属性的值。如何得到属性的值,可以从下面的代码看出
'*************************this is the class******************************************'
Class Myname
 Dim a(10)
 Dim index
 
'Initialize class
'here,you can set the value of the vairable
  Private Sub Class_Initialize()
 For index = 0 To 10
  a(index)= index
 Next
   End Sub
 
End Class

'***********************this is the main function************************************'

Dim b
Dim a(10)
Dim index
 
'make the connection to the object of the class
Set b = new Myname

'in order to get the vairable value of the object
a(10) = b.a

'output the variable of the object
For index = 0 To 10
   MsgBox "you is the "&CStr(b.a(index))
  Next

'cut off the connection to the object
Set b = Nothing

12.vbscript中的错误处理机制
 答:如果发生了错误,则Err的值,系统会给它设置为非0.
     如果没有错误发生,则Err的值为0
     所以我们可以通过Err是否为0来判断是否存在错误的发生。当然也可以自己写一些错误处理的程序

13.在调用函数的时候,曾经出现报错的情况?对于此情况的出现,具体分析如下:
 答:1.在Function定义的时候,参数列表的括号必须要紧挨着函数名
     2.在函数调用的过程中,如果函数存在返回值,则一定要写成如下的形式:变量名 = 函数名(参数列表)
         如果函数没有返回值,则一定要写成:call 函数名(参数列表)
 3.如果函数没有返回值,写成了 函数名(参数列表),运行时会报错 

14.在函数定义的时候,需要注意以下问题
 答:如果函数要返回的值是对象,则在返回值设置时,要用Set 函数名=值,在调用函数的时候,也需要用set 变量名=函数名(参数列表)
     如果函数返回值不是对像,则返回值设置时,直接函数名=值,在 调用函数时候,直接用变量名=函数名(参数列表)

15.vbscript中是否存在对象的引用问题?对于这种情况,要在实践中进行讨论 
  答:函数中传递的是参数是一个对象,就相当于对对象的引用。具体说明可以参考Quote_Object_sample.vbs

16.什么是CScript.exe?什么是WScript.exe?
 答:进程文件: cscript.exe
   英文描述: Microsoft Console Based Script. Host
   进程分析: dos环境下的脚本宿主引擎。
     输出方式:控制台输出

     进程文件: wscript.
   英文描述: Microsoft Windows Script. Host
     进程分析:window环境下的脚本宿主引擎
     输出方式:窗口输出

17。for循环不能倒序输出数值吗?例如:a(0)=1,a(1)=2,a(2)=3,不能输出321,只能输出123

18.excel的操作中怎样才能关掉"任务管理器"中的"进程"的excel程序呢?如果不关掉,手动打开excel文件的时候,系统会报错
   答:"进程"中的程序也是程序,只不过没有在界面中显示而已
   关闭excel应用程序的语句是:Application.Quit
  

 

 

 

 

 

 

 


 


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-05  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 14995
  • 日志数: 49
  • 建立时间: 2010-07-28
  • 更新时间: 2011-07-17

RSS订阅

Open Toolbar