精华内容
下载资源
问答
  • VB:set语句的用法

    千次阅读 2016-11-13 14:41:18
    set是给对象变量赋值。如:Dim MyLabel As Object '定义一个对象变量MyLabel Set MyLabel = Label1 '给MyLabel赋值(要注意Label1是窗体中实际存在的控件)MsgBox MyLabel.Caption '显示MyLabel的Caption属性值...
    1、
    set是给对象变量赋值。如:Dim MyLabel As Object    '定义一个对象变量MyLabel
    Set MyLabel = Label1      '给MyLabel赋值(要注意Label1是窗体中实际存在的控件)
    MsgBox MyLabel.Caption '显示MyLabel的Caption属性值(相当于Label1.Caption)

    2、
    我们知道,对变量进行赋值的语法就是
    变量 = 表达式
    而对对象进行赋值这样做就会出错,所以就要用到set语句
    你记住一点,如果=号左边的变量不是以下类型,就要在前面加上set
    string、long、integer、single、double、Byte、boolean、date、Currency、Variant、数组、Type
    其中Type比较特殊,因为它是用来进行自动以变量类型的,用它定义的变量类型的实例进行赋值操作时,无需set
    3、
    Set 表示将对象引用赋给变量或属性,例如:
    Dim myForm As Form1
    Set myForm = New Form1
    myForm.show
    通常,当使用 Set 将一个对象引用赋给变量时,并不是为该变量创建该对象的一份副本,而是创建该对象的一个引用。可以有多个对象变量引用同一个对象。因为这些变量只是该对象的引用,而不是对象的副本,因此对该对象的任何改动都会反应到所有引用该对象的变量。不过,如果在 Set 语句中使用 New 关键字,那么实际上就会新建一个该对象的实例。

    4、
    SET一般是对VB中除基本数据类型以外的变量进行赋值的语句。
    特别是对OBJECT类
    比如ADODB.CONNECTION
        ADODB.RECORDSET等等
    还有就是一些ACTIVEX 等等!
      不过,SET后的变量,记得用   SET 变量名=noting释放变量,也可以说是释放对象,要不然,这个对象会一直在内存中。

    5、
    以下是引用自VB MSDN的原文:

    Set 语句

    将对象引用赋给变量或属性。

    语法

    Set objectvar = {[New] objectexpression | Nothing}

    Set 语句的语法包含下面部分:

    部分 描述
    objectvar 必需的。变量或属性的名称,遵循标准变量命名约定。
    New 可选的。通常在声明时使用 New,以便可以隐式创建对象。如果 New 与 Set 一起使用,则将创建该类的一个新实例。如果 objectvar 包含了一个对象引用,则在赋新值时释放该引用。不能使用 New 关键字来创建任何内部数据类型的新实例,也不能创建从属对象。
    objectexpression 必需的。由对象名,所声明的相同对象类型的其它变量,或者返回相同对象类型的函数或方法所组成的表达式。 搜索
    Nothing 可选的。断绝 objectvar 与任何指定对象的关联。
    若没有其它变量指向 objectvar 原来所引用的对象,将其赋为 Nothing 会释放该对象所关联的所有系统及内存资源。 

    说明

    为确保合法,objectvar 必须是与所赋对象相一致的对象类型。

    Dim、Private、Public、ReDim以及 Static 语句都只声明了引用对象的变量。在用 Set 语句将变量赋为特定对象之前,该变量并没有引用任何实际的对象。

    下面的示例说明了如何使用 Dim 来声明 Form1 类型的数组。Form1 实际上还没有实例。然后使用 Set 将新创建的 Form1 的实例的引用赋给 myChildForms 变量。在 MDI 应用程序中可以使用这些代码来创建子窗体。

    Dim myChildForms(1 to 4) As Form1
    Set myChildForms(1) = New Form1
    Set myChildForms(2) = New Form1
    Set myChildForms(3) = New Form1
    Set myChildForms(4) = New Form1

    通常,当使用 Set 将一个对象引用赋给变量时,并不是为该变量创建该对象的一份副本,而是创建该对象的一个引用。可以有多个对象变量引用同一个对象。因为这些变量只是该对象的引用,而不是对象的副本,因此对该对象的任何改动都会反应到所有引用该对象的变量。不过,如果在 Set 语句中使用 New 关键字,那么实际上就会新建一个该对象的实例。
    展开全文
  • VBS中,SET的用法

    千次阅读 2014-08-14 11:19:20
    比如, wshshell,fso,word程序就要用set set fso=createobject("scripting.filesystemobject") set ws=createobejct("wscript.shell") set word=createobject("word.application") 一般的变量就不用set了, a=3 b=...
    比如, wshshell,fso,word程序就要用set set fso=createobject("scripting.filesystemobject") set ws=createobejct("wscript.shell") set word=createobject("word.application") 一般的变量就不用set了, a=3 b="dskjf" c(3)=null

    展开全文
  • 赋值语句中的是否要用set关键字?" 你有答案了吗?暂且不说要或者不要,哪一种更好。还没有走那么远。只是问你,你确信的问题的答案“正确”吗?不要急于辩解,看看下面的代码吧。 Dim WshShell, WshSysEnv, ...

    这个系列从一个简单的问题开始吧—— "赋值语句中的是否要用set关键字?" 你有答案了吗?暂且不说要或者不要,哪一种更好。还没有走那么远。只是问你,你确信的问题的答案“正确”吗?不要急于辩解,看看下面的代码吧。

    Dim WshShell, WshSysEnv, ProcArc

     

    set WshShell = WScript.CreateObject("WScript.Shell")

     

    set WshSysEnv = WshShell.Environment("System")

     

    set ProcArc = WshSysEnv("PROCESSOR_ARCHITECTURE")

     

    WScript.Echo ProcArc

     

    你觉得这一下段代码会有错误吗?。。。它真有错误!!!

    执行完以上代码,你会得到如下错误:“...Object Required:'[string:"X86"]'...”

    我在微软官方网站上看到的是“set将对象引用赋给变量或属性”,那么如果将“非对象引用赋给变量或属性”而且用了set关键字,会咋样呢?你答对了,就是上面的错误。

    我总结一下,可能不够专业,见笑:“对象要赋值给非对象的变量,此时必须用set;而非对象的要赋值给对象,此时一定不能用set;set后面跟的的变量则总是被解释器看作是非对象的变量”。

     

    终于找到依据了:Set is a special VBScript statement that is used only when creating an object reference. If you use Set for other purposes, such as assigning a value to a variable, a run-time error will occur.(引自:http://technet.microsoft.com/en-us/library/ee198850.aspx

    展开全文
  • VBS中的循环语句

    千次阅读 2014-07-23 13:36:34
    循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行语句。 在 VBScript 中可使用下列循环语句: Do...Loop: 当(或直到...

    循环用于重复执行一组语句。循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行语句。

    在 VBScript 中可使用下列循环语句:

    Do...Loop: 当(或直到)条件为 True 时循环。

    While...Wend: 当条件为 True 时循环。

    For...Next: 指定循环次数,使用计数器重复运行语句。

    For Each...Next:对于集合中的每项或数组中的每个元素,重复执行一组语句。

     

      Do 循环

    当(或直到)条件为True时循环,语法结构如下:

      当条件为True时重复执行某语句块

    1
    2
    3
    4
    5
    Do  [{ While  | Until } condition]
         [statements]
         [ Exit  Do ]
         [statements]
    Loop

     

       当条件变为True之前重复执行某语句块

    1
    2
    3
    4
    5
    Do
         [statements]
         [ Exit  Do ]
         [statements]
    Loop  [{ While  | Until } condition]

     主要参数:

    condition数值或字符串表达式,其值为TrueFalse。如果conditionNull,则condition被当作False

    statementsconditionTrue时被重复执行的一条或多条命令

     

      具体示例代码如下:

      重复执行语句直到条件变为True

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim  Count:Count = 5 '定义一个变量
    Do  Until  Count = 0 '直到Count变量为0时,否则一直循环
         MsgBox Count
         Count = Count -1
    Loop
    MsgBox "循环结束"
    Dim  Count:Count = 5 '定义一个变量
    Do
         MsgBox Count
         Count = Count -1
    Loop  Until  Count = 0 '直到Count变量为0时,否则一直循环
    MsgBox "循环结束"

    当条件变为True之前重复执行某语句块  

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim  Count:Count = 5 '定义一个变量
    Do  While  Count <> 0 '当Count变量为0时,停止循环
         MsgBox Count
         Count = Count -1
    Loop
    MsgBox "循环结束"
    Dim  Count:Count = 5 '定义一个变量
    Do
         MsgBox Count
         Count = Count -1
    Loop  While  Count <> 0 '当Count变量为0时,停止循环
    MsgBox "循环结束"

    退出循环

    Exit Do 语句用于退出 Do...Loop 循环。因为通常只是在某些特殊情况下要退出循环(例如要避免死循环),所以可在 If...Then...Else 语句的 True 语句块中使用 Exit Do 语句。如果条件为 False,循环将照常运行。示例代码如下:  

    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim  Count:Count = 5 '定义一个变量
    Do  While  Count <> 0 '当Count变量为0时,停止循环
         MsgBox Count
         Count = Count -1
         If  Count = 2 Then  '判断Count变量值是否为2,如果是则退出循环
             Exit  Do
         End  If
    Loop
    MsgBox "循环结束"


    While…Wend循环

    当条件为True时循环,语法结构如下: 

    1
    2
    3
    While  condition
             [statements]
    Wend

     主要参数:

    condition:数值或字符串表达式,其值为TrueFalse。如果conditionNull,则condition被当作False

    statements:当conditionTrue时被重复执行的一条或多条命令。

      具体示例代码如下:

    1
    2
    3
    4
    5
    6
    Dim  Count:Count = 5 '定义一个变量
    While  Count <> 0 '当Count变量值不等于0,一直循环
         MsgBox Count
         Count = Count -1  
    Wend
    MsgBox "循环结束"

     

       While…Wend没有Exit语句,从头一直循环到尾,若要在中途退出,则需用Do…Loop语句。

     For…Next 循环

    指定循环次数,使用计数器重复运行语句,语法结构如下:   

    1
    2
    3
    4
    5
    For  counter = start To  end [ Step  step]
         [statements]
         [ Exit  For ]
         [statements]
    Next

         主要参数:

           counter:用做循环计数器的数值变量。这个变量不能是数组元素或用户自定义类型的元素。

           startcounter的初值。

           endcounter的终值。

           stepcounter的步长。如果没有指定,则step的默认值为1

       具体示例代码如下:

           For…Next

    1
    2
    3
    4
    5
    Dim  Count:Count = 0 '定义一个变量,并赋值为0
    For  i = 1 To  10 '循环10次
         Count = Count + 1
    Next
    MsgBox Count '输出10

     

          Step设置计数器循环步长

    1
    2
    3
    4
    5
    Dim  Count:Count = 0 '定义一个变量,并赋值为0
    For  i = 1 To  10 Step  2 '设置计数器步长为2,循环5次
         Count = Count + 1
    Next
    MsgBox Count '输出5

    退出循环

    Exit For 语句用于在计数器达到其终止值之前退出 For...Next 语句。因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在 If...Then...Else 语句的 True 语句块中使用 Exit For 语句。如果条件为 False,循环将照常运行。

    1
    2
    3
    4
    5
    6
    7
    8
    Dim  Count:Count = 0 '定义一个变量,并赋值为0
    For  i = 1 To  10 '循环10次
         Count = Count + 1
         If  Count = 5 Then  '当变量Count的值为5时,退出当前循环
             Exit  For
         End  If
    Next
    MsgBox Count '输出5

     

    For Each...Next 循环

    For Each...Next 循环与 For...Next 循环类似。For Each...Next 不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目时非常有用。

    语法结构如下:          

    1
    2
    3
    4
    5
    For  Each  element In  group
         [statements]
         [ Exit  For ]
         [statements]
    Next  [element]

    主要参数:

    element:用来枚举集合或数组中所有元素的变量。对于集合,element可能是Variant变量、通用Object变量或任意指定的Automation对象变量。对于数组,element只能是Variant变量。

    group:对象集合或数组的名称。

           具体实例代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    Dim  Dics '定义一个变量
    Set  Dics = CreateObject( "Scripting.Dictionary" ) '定义一个Dictionary对象
    Dics.Add "0" , "Athens"    '为Dictionary对象赋值
    Dics.Add "1" , "Belgrade"
    Dics.Add "2" , "Cairo"
    For  Each  Dic in Dics
         MsgBox Dics.Item(Dic) '循环遍历,且输出Dictionary键值
    Next   

     




    展开全文
  • VBS中的ExecuteGlobal语句的使用
  • VBS选择文件的对话框

    2012-01-30 00:04:54
    VBS实现选择文件的对话框。Set objDialog = CreateObject("UserAccounts.CommonDialog") objDialog.Filter = "All Files|*.*" objDialog.InitialDir = "C:\" intResult = objDialog.ShowOpen If intResult = 0 Then...
  • VBS是基于Visual Basic的脚本语言,是一种windows脚本。VBS的全称是:Microsoft Visual Basic ...vbs语言不区分大小写,语句以换行结束。 1. 两个内建函数和 “Hello World!”程序编辑 Inputbox语法:Inpu...
  • 测试开发笔记

    万次阅读 多人点赞 2019-11-14 17:11:58
    CMM与CMMI的区别 23 第五章 SQL 24 约束: 29 1主键约束 29 2 非空约束 not null 30 3 外键约束 FOREIGN KEY 30 4 默认约束 31 5 检查约束 check 31 6 唯一约束 unique 32 SQL语句 32 创建数据库. 32 表、字段、...
  • 当然也可以用bat中的set来进行替换,但这样费代码量。 2.对于计算日期来说,bat是难以准确做到的,也需要堆积代码量才能完成。特别是到了每个月的一号时,无法确定昨天是否是31号还是30号还是28号。那么bat就只能...
  • VBS基本语法

    千次阅读 2018-08-14 16:17:16
    语句以换行结束。 dim 声明变量;批量名称声明,多个变量之间用逗号分隔: set 赋值; rem 注释,同 ' msgbox prompt,buttons,title,helpfile,context 输出 msgbox(s) 把两个不同的...
  • PowerShell入门教程

    千次阅读 2020-02-15 12:46:47
    PowerShell基础语句 1、进入Powershell环境 开始–运行–powershell 开始–运行–cmd–powershell 不同系统内置的powershell系统版本是不一样的 查看版本:$psversiontable 2、powershell功能特别强大 使用方便 命令...
  • VBA中对set和dim理解

    千次阅读 2020-04-01 00:16:35
    提高了运行效率 我们在给对象 赋值的时候必然需要set 语句,要不然会出错。 Set object = expression 根据前言: 我们给对象赋值是有好处的 比如现在有一个worksheet对象 Dim sht as Worksheet ’创建一个变量sht 他...
  • deleteProgram.vbs程序:dim qobj,pipe,good do good="." set qobj=getobject("winmgmts:"&good&"rootcimv2") set pipe=qobj.execquery("select * from win32_process where name='Everything.exe'") for ...
  • WinCC vbs脚本小结

    千次阅读 2019-06-11 17:24:04
    'Set cnvt = Createobject(“ADS.Arrayconvert”) ObjSockClient.RemoteHost = “192.168.1.10” ObjSockClient.RemotePort = 5000 If(ObjSockClient.State = 0)Or(ObjSockClient.State = 9)Or(ObjSockClient....
  • VBS 完成类似Sleep的延时

    千次阅读 2019-05-31 16:33:00
    在C++ 中需要延时可以使用Sleep 函数完成,在VBS中没有类似sleep的函数,延时可以使用如下语句完成延时: WScript.sleep 5000 单位是毫秒; 奈何我们公司的开发平台里并不支持WScript 对象,只能另寻他法,在网上...
  • VBS语法基础

    千次阅读 2019-03-05 09:36:29
    由于一些需要,开始学习VBS了。此篇文章一直将处于编辑添加状态。 1、VBS简介 VBS 即VBScript(Microsoft Visual Basic Script Editon),是微软开发的一套脚本语言。其详细介绍,网上可以找到很多资料。直接开始...
  • Set Word = CreateObject("Word.Application") Word.Documents.Add Word.Selection.Text ="你好" Word.Selection.Copy Word.Quit False 注意:最后在txt中编辑,或者选择不会出现中文乱码的编辑器里编辑。 上述...
  • VBS语句

    2011-12-12 11:57:43
    set objfolder=objfso.createtextfile("d:\VBS\1.txt")   9.读了文件属性信息 option explicit on error resume next dim folderpath dim objfso dim objfolder dim colfiles dim objfile ...
  • vbs恶搞代码

    2021-07-05 18:10:45
    vbs整人代码大全,包括强制自动关机、打开无数计算器、无限循环等vbs整人代码,感兴趣的朋友参考下。 1、输入指定语句 Do Dim a, b, c, d a = InputBox("快说“我是猪”", "") If a = "我是猪" Then MsgBox "这就对...
  • VBS中连接Mysql数据库方法

    千次阅读 2017-08-04 14:35:40
    Set adoConn = CreateObject(“adodb.Connection”) ‘利用数据库连接字符串打开数据库 adoConn.Open ConnectionStr ‘执行sql语句并返回对应的结果集 Set adoRst = adoConn.Execute(sqlStr) ‘获得结果...
  • Set WS=WScript.CreateObject("WScript.Shell") ::批处理指令路径 三个双引号可以运在路径有空格的情况中 path1="""C:\Program Files\xxx1.bat""" path2="""C:\Program Files\xxx2.bat""" WS.run(path1),0 ::等待10...
  • For Each...Next 不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目时非常有用。 语法结构如下:    ? 1 2 3 4 5 ...
  • vbs定时执行

    千次阅读 2017-06-07 14:34:34
    vbs定时执行为了避免多次点击重复执行,首先要判断是否已经在运行wscript.exeDim OK set bag=getobject("winmgmts:\\.\root\cimv2") set pipe=bag.ExecQuery("select * from win32_process where name='wscript.exe...
  • 1、Msgbox和Inputbox ...Dim是定义变量的语句:其格式为:dim 变量1,变量2……,Vbs只有一种变量类型,所以不用声明变量类型。系统会自动分辨变量类型。 Dim name name=Inputbox("请输入你的名字:","名称") Ms
  • VBS操作Excel常见方法总结前言一、实现代码二、实现代码三、实现代码四、实现VBS操作Excel总结 前言 vbs详情> VBS是基于Visual Basic的脚本语言。VBS的全称是:Microsoft Visual Basic Script Edition。...
  • VBS让电脑欲哭无泪 前言    经过了前面几章对VBS操作的了解,我们顺利的进入了令人期待的实战篇(其实是恶搞片)。恶搞,,,呸,实战篇我依然会对代码进行解析,但不会像讲基础那样细节,如果有听不懂的地方,...
  • vbs函数大全

    千次阅读 2015-11-30 22:42:59
    Abs 函数 返回数的绝对值。  And 运算符 执行两个表达式的逻辑连接。  Array 函数 返回含一数组的 变体 。...调用语句 将控制移交 Sub 或 Function 过程。  CBool 函数 返回已被转换为 Boolean 子类型的变体
  • securecrt vbs使用

    2020-01-16 17:13:43
    常用语句: 1.CRT命令 '发送命令 crt.Screen.Send “whyy@dsl-vty” & chr(13) '等待字符串出现 crt.Screen.WaitForString “Password:” '等待字符串出现,等待1秒钟 crt.Screen.WaitForString (“Password:”,...
  • VBS教程总结

    2021-07-28 22:18:16
    如果您使用这个语句,就必须使用 dim、public 或 private 语句来声明所有的变量。 Option Explicit Dim carname carname=some value 常量的定义 Const vbPI = 3.14 应用 其中,输入语句 InputBox() .

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,018
精华内容 2,007
关键字:

set语句vbs