精华内容
下载资源
问答
  • 标识符可以简单的认为就是类名、变量名和过程名。 VBS其实存在两种标识符: 普通标识符(NORMALIDENTIFIER) 中括号标识符(BRACKETIDENTIFIER) 但是我看过的VBS书籍上都只讲了普通标识符,没有讲中括号标识符。 ...

    标识符可以简单的认为就是类名、变量名和过程名。

    VBS其实存在两种标识符:

    1. 普通标识符(NORMALIDENTIFIER)
    2. 中括号标识符(BRACKETIDENTIFIER)

    但是我看过的VBS书籍上都只讲了普通标识符,没有讲中括号标识符。

    普通标识符的规则我们已经很熟悉了:

    • 第一个字符必须是字母。
    • 后面的字符可以是字母、数字和下划线(_)
    • 长度不能超过 255 个字符
    • 不能是VBS保留的关键字

    中括号标识符的规则更简单:

    • 中括号括起来的任意Unicode字符(换行、回车和NULL除外)
    • 长度不能超过 255 个字符(可以是0个,不包括中括号)

    有了中括号标识符,就可以用任意字符来做变量名了,包括VBS保留字

    Dim [if],[昵称]
    [if] = "Hello world"
    [昵称] = "Demon"
    WScript.Echo [if]
    WScript.Echo [昵称]

    这样给变量或者函数命名的时候就可以使用中文了,看起来比较牛逼。

     

    http://demon.tw/programming/vbs-identifiers.html

    转载于:https://www.cnblogs.com/alterhu/archive/2012/04/08/2438120.html

    展开全文
  • 昨天晚上朋友的电脑需要定时关机,于是打开记事本,敲了几行代码(不要问我为什么不用at命令)
  • VBS变量类型和语法格式小结

    千次阅读 2018-06-19 23:23:16
    数组的长度是N,最大下标为ubound(Array),即为N-1,下标从0开始(lbound(Array)),否则下标会越界3.VBS木有赋值号“==”,都只是用“=”4.重定义数组长度时,会丢失前面的赋值数据,要保留前面赋值的数据,需要用...
    一.注意事项
    1.字符串连接使用“&”,木有“+”
    2.数组的长度是N,最大下标为ubound(Array),即为N-1,下标从0开始(lbound(Array)),否则下标会越界
    3.VBS木有赋值号“==”,都只是用“=”
    4.重定义数组长度时,会丢失前面的赋值数据,要保留前面赋值的数据,需要用Redim Preserve X(4)
    5.木有所谓的i++, +=之类,自增需要x = x+1
    6.接受键盘输入使用Inputbox("请输入需要配需的数字","标题","55,26,3,4,91,34")
    7.打开声明开关使用,option explicit
    8.不支持声明时同时赋值,比如Dim x = 5
    9.不支持2个变量同时赋值,比如 x = y = 5,这样搞的话,只有y = empty(未定义),x会等于false
    10.获取当前时刻使用 myTime = time(),格式为“12:11:02 PM”
    11.计算时间差使用 x = timer,则时间差为 SpentTime = y - x
    12.获取当前日期使用 x = date(),格式为“2/15/2013”,可直接使用date或者time,不用()
    13.无返回值的函数,其实就是过程sub,过程调用格式为 过程名 "参数1","参数2","参数3",或者直接call 方法名("参数1","参数2","参数3")
    14.不等于使用"<>",不是"!=",大于或等于使用">=",2个变量比较的结果,只有true或false
    15.逻辑运算符只有And,or,not,Xor(异或)
     
    二.数据类型
      VBS只有一种数据类型,那就是variant,根据上下文判断是数字还是字符串,所以vbs中不需要声明变量类型,var的子类型有以下几种
      Empty - 未初始化都是这个值,数值变量,值为0,字符串为""
      Null - 无任何数据的var
      Boolean - true或者false
      Byte - 包含0到255的整数
      Integer - -32768到32768
      Currency - -922337203685477.5808 到 922337203685477.5808
      Long - -2147483648 到 2147483648
      Single - 单精度浮点数,-3402823E38 到 -1.401298E-45(负数),1.401298E-45 到 3402823E38(整数)
      Double - 双精度浮点数,-1.79769313486232E308 到 -4.94065645841247E-324(负数)
      Date(Time) - 公元100年1月1人到公元9999年12月31日
      String - 可变长字符串,最大长度20亿个字符
      Object - 包含对象
      Error - 包含错误号
     
    三.数据类型转换
      Cbool - 换成布尔型
      Cbyte - 转成0到255的整数
      Ccure, Cdbl, Csng - 转成浮点小数,前面那个小数点4位,后面2个更大
      Cdate - 转换成日期值
      Cint,Clng - 转成整数,后者范围比前者大
      Cstr - 转成字符串
     
    四.语法结构格式
      1.循环
        1)条件满足时执行的循环
        A、Do while 条件
            Statement. 
          Loop
          中途跳出do循环使用 exit do
     
          或者 do
                Statement1.
              Loop while 条件
     
        B、While 条件
             Statement1.
           Wend
     
        C、Do while 条件
             Statement. 
           Loop
           Until 条件
     
        D、For i=1 to 5 step 2
              Statement1.
           Next
           中途退出for循环使用 exit for
     
        E、For each x in Array(1,2,3)
             Statement1.
           Next
        2)条件不满足时执行的循环
           Do until 条件
             Statement1.
           Loop
           或者
           Do
             Statement1.
           Loop until 条件
      2.条件
        A. if x <> 3 Then
              y = x
           end if
        B. if x > 3 Then
              y = x
           elseif x <3 and x <> -1 then
              y = x + 1
           else
              y = x - 1
           end if
        C. Select case x
           case "1"
              statement 1
           case "yy"
              statement 2
           ....
           End select
      
    展开全文
  • 从外部VBS程序读取WINCC变量。在安装了WINCC的电脑上可以直接双击运行VBS
  • 现要在该状态显示模块的“鼠标单击”事件中,读取这个模块Inde属性所链接的变量的变量名,如何实现?问题补充:并不是,读属性的值,而是读属性所引用的变量名最佳答案GetLink函数的含义及使用方法1、含义获取某个...

    WINCC 6.0中:

    有1状态显示模块,其Index属性连接了一外部变量。

    现要在该状态显示模块的“鼠标单击”事件中,读取这个模块Inde属性所链接的变量的变量名,如何实现?

    问题补充:

    并不是,读属性的值,而是读属性所引用的变量名

    最佳答案

    GetLink函数的含义及使用方法

    1、含义

    获取某个画面中指定对象其属性的动态连接特性。连接属性包括动态连接类型、更新方式及连接的变量名称。

    函数原型如下:

    BOOL GetLink(LPCTSTR lpszPictureName,   //画面名称

    LPCTSTR lpszObjectName,   //对象名称

    LPCTSTR lpszPropertyName,   //属性名称

    LPLINKINFO *pLink);       //连接特性结构指针

    其中,值得一提的是LINKINFO结构体。下面是结构体的定义。

    typedef struct {

    LINKTYPE LinkType;

    DWORD dwCycle;

    TCHAR szLinkName[256];

    }LINKINFO;

    说明:

    LinkType:连接类型,各值对应关系如下:

    0-无连接

    1-直接变量连接

    2-间接变量连接

    3-C动作

    4-动态对话框

    5-直接连接

    6-动态对话框(不清楚与4的区别)

    dwCycle:更新方式

    255-画面周期

    235-窗口周期

    0-基于改变

    1-250毫秒

    2-500毫秒

    3-1秒

    4-2秒

    5-5秒

    6-10秒

    7-1分钟

    8-5分钟

    9-10分钟

    10-1小时

    11~15-用户自定义周期1~5

    szLinkName[256]:变量名称

    2、使用示例

    LINKINFO linkinfo;

    BOOL  ret;

    ret=GetLink("NewPdl1.PDL","Rectangle01","BackColor",&linkinfo);

    SetTagBit("Ret",ret);

    if(ret==TRUE)

    {

    SetTagByte("Type",linkinfo.LinkType);

    SetTagDWord("Cycle",linkinfo.dwCycle);

    SetTagChar("TagName",linkinfo.szLinkName);

    }

    说明:以上代码获取画面NewPdl1.PDL中的矩形对象Rectangle01的属性BackColor的动态连接特性,并将其存入结构变量linkinfo中。然后将连接类型存入Type内存变量,更新方式存入Cycle内存变量,连接变量名称存入TagName内存变量中。

    提问者对于答案的评价:

    详尽,解答的很详尽。尽管我不用C脚本。我还是要感谢你

    原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc268398.html

    展开全文
  • WINCC 一起学-VBS读取变量归档题记:前段时间,看论坛里面有人在问关于VBS读取变量归档的问题,主要是数据库连接和操作方面的问题,我也试着帮忙解决了几个问题,也算学习了一下,现在就是一起做一个项目,通过脚本...

    WINCC 一起学-VBS读取变量归档

    题记:

    前段时间,看论坛里面有人在问关于VBS读取变量归档的问题,主要是数据库连接和操作方面的问题,我也试着帮忙解决了几个问题,也算学习了一下,现在就是一起做一个项目,通过脚本把变量归档里面的数据读出来,后期再导入EXCEL或者控件里面,或有其他的功能,后面想到再做打算吧。本文从新建项目开始,一步一步来,想到哪里写到哪里,为了减少工作量,就以温度(T),压力(P)和流量(L)3个变量为例进行读写操作。

    软件基础:虚拟机WIN7 SP1 64位旗舰版和WINCC 7.3 SE+UPD9+OFFICE2003为基础,未安装连通性软件包。

    目的:使用VBS脚本,读取WINCC变量归档数据,然后导出到EXCEL文件或者ListView控件中。

    1、 参考资料

    先把一些参考资料放出来,大家一起学习,本文中的资料来自以下文档、手册和WINCC帮助内容,一些朋友问关于报表的问题,我给发的基本上都是这些手册。

    A、在WinCC中如何使用VBS读取变量归档数据到EXCEL

    B、通过VBS脚本在ListView控件中显示WinCC的变量记录

    C、WinCC、Excel、VBA、脚本、连通性软件包

    D、WinCC数据报表实现方法介绍

    E、WinCC V7.4:组态 系统手册

    F、WinCC V7.4:使用 WinCC 系统手册

    部分资料来自

    http://www.w3school.com.cn

    2、 准备工作

    2.1 新建项目

    在D盘目录下新建名为TAGREAD的项目

    2.2 建立变量

    在内部变量下,新建分组“TR”,在分组下面,新建名分别为为“P”、“T”、“L”的变量,类型均为:32-位浮点数 IEEE 754。

    1b240f832819537aa8aad7bcd153c094.png

    图1

    同时变量在全局脚本里面进行周期性赋值

    T:画幅值是10周期10秒的正弦波

    T:0-10的随机数

    P:T/100进行累加

    脚本如下:

    d09fef638a2f5d6fc41ce06799454cdb.png

    图2

    触发方式:周期->250ms

    2.3 变量归档

    新建名为:TAGR的过程值归档,为减少数据库的大小,采样和归档时间我设置成1S,其他设置默认。如图,前三个,下面的请忽略

    71a75bb64213ff99ee292ee2fe9b11dc.png

    图3

    2.4 设计画面

    本人的审美不咋的,就随便做一个画面用来测试。

    画面内容:

    3个IO域,显示3个变量的实际值;1个在线趋势控件,显示变量趋势;标尺控件方便查看历史值,Listview控件:方便后面导出显示;应用程序:脚本诊断,用于输出脚本是否正常。最右一个按钮,名为测试。运行后如图

    55342d62b7c3731c33129d8fd39b6d94.png

    图4

    1楼还有

    附上2的链接

    WINCC一起学-VBS读取变量归档-三

    WINCC一起学-VBS读取变量归档--四 实现简单报表

    展开全文
  • VBS可以使用中文变量名哦.

    千次阅读 2013-12-16 22:07:48
    只要加上方括号就可以: Set [文件系统] = createobject("scripting.filesystemobject") msgbox typename([文件系统])
  • wincc脚本功能之变量自增(VBS)

    千次阅读 2020-02-28 11:28:52
    wincc软件 VBS脚本 自增
  • VBS的变量既可以以一个字母作为名称,也可以是一个单词,当然也是不支持汉字作为变量名的。不过可以加上方括号使用汉字命名变量比如这样: Dim [祖安]:[祖安]=1 代码是可以运行的。关于变量名称的详细命名规则,...
  • VBS基础篇 - 变量(1) - 声明变量

    千次阅读 2014-08-26 10:40:40
    使用隐式声明方式的习惯不好,因为这样有时会由于变量名拼错而导致程序运行出现意外,因此,最好在每个脚本开始第一行使用Option Explicit语句强制显式声明所有变量。声明示例如下: ? 1
  • strComputer = "."strMesseage=""Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!... "\root\cimv2")'获取本机计算机Set colSettings = objWMIService.ExecQuery ("S...
  • VBS教程:VBScript 基础-VBScript 变量VBScript 变量变量是一种使用方便的占位符,...使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。在 VBScript 中只有一个基...
  • VBS基础篇 - 变量(5) - 变量赋值

    千次阅读 2014-08-26 11:01:08
    其实变量赋值很简单,使用等号进行赋值,等号左边为变量名,右边为变量值。 若该变量是对象引用级别的,则需使用Set语句。示例代码如下: ? 1 2 3 4 Dim Age, Object, User Age =...
  • ① VBScript变量名的第一个字符必须是字母 字母就是a~z之间的字符(大小写均可)。常见的非字母字符有:数字、标点符号、数学运算符及其他特殊字符。例如: 合法的变量名:strName、Some_Thing 、Fruit 非法的...
  • vbs脚本中也存在和其他编程语言一样的概念,那就是变量的作用域,变量的作用域决 定在什么范围内可以访问。  同样的在vbs脚本中对于变量也有一个生命周期, 变量的生命周期决定了变量的存续时间 这个主要是...
  • WinCC中使用VBS读写变量

    千次阅读 2010-01-18 11:11:57
    Wincc6包含了VBS脚本编程,对于我等熟悉VB编程的可谓带来的福音,但是,由于西门子的C脚本编程功能实在太强大,加上要保持以前版本的一致性和用户编程习惯的延伸性,所以对于VBS脚本并没有太多的介绍。  这里我先...
  • VBS教程 适合新手

    2019-04-17 11:06:24
    Vbs只有一种变量类型,所以不用声明变量类型。系统会自动分辨变量类型。 说明之二:inputbox是VBS内建的函数,可以接受输入的内容,其语法格式为: Inputbox("对话框内容","对话框标题") 第二句的意思是接受用户...
  • VBS脚本如何把数据库里面返回值赋给脚本里面的一个变量啊! 只返回某字段查找的某一个值,我试了好久就是不成功。 上网查的方法,不会用: setrs=connObj.execute(strSQLCode)ifnotrs.eofthenmsgboxrs(字段)或用...
  • ghost后自动修改IP和计算机VBS脚本!(现推出, 。VBS 版 Ghost 改机器 IP地址 新版本。AutoConfig.vbs---------------------------------------------------------------------------On Error Resume Next'...
  • VBS获取网页源代码.vbs set http=createobject("Microsoft.XMLHTTP") '\\调用XMLHTTP对象 url="http://www.119880.com/qq.txt" '\\赋予变量URL值 Set hhh = createObject("Microsoft.XMLHTTP") hhh.open "get",...
  • 主要是使用了cmd中的setx命令,所以在使用之前要检查一下在cmd中setx命令是否可以使用首先在桌面中创建一个新建文本文档并且将后缀改成vbs 例如然后使用文本编辑打开 输入代码即可首先在第一行要声明一个windows...
  • VBS常用命令

    千次阅读 2017-07-17 15:59:00
    32、VBS写指定编码的文件(默认为uft-8)gangzi变量是要读取文件的路径,gangzi2是内容变量 gangzi="1.txt" gangzi2="www.gangzi.org" SetStm1 = CreateObject("ADODB.Stream") Stm1.Type= 2 Stm1....
  • VBS基础知识 前言    经过了之前的VBS入门学习,相信大家对VBS脚本语言有了一定的了解,这篇文章将向大家展示VBS脚本语言的基础知识。这次废话不多说,直接上干货!...   合法的变量名:guyu,gu_yu,gu2
  • 返回vbs脚本

    2021-03-17 17:11:09
    bat批处理文件中如何获取vbs中的返回值bat批处理文件中如何获取vbs中的返回值例如:@echo offset date1=2011-5-10echo WScript.Echo datepart(“ww”,’%date1%’)>%temp%\t.vbs会得到一个:WScript.Echo ...
  • 一、vbs中的数组类型  在VBS中提供了两种数组类型,一种是固定数组,一种是动态数组。 1、固定数组  就是在定义的时候数组的大小固定了,也就是说一旦定义了固定的数组,那么数组能存储多少的数据就 不能改变...
  • python和vbs

    2020-11-30 04:05:48
    广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返... pyxll 在excel中使用python替代vbs。 http:www.pyxll.com。 类似模块有pyinex。 python ...python版本:python2.3 to 2.7...
  • VBS数组深入浅出

    2018-08-18 11:04:00
    VBS数组在应用中没有像其他语句那么广泛,VBS数组存在不少功能上的局限性(如二维数组的定义、赋值),在使用上也没有java等语言那么便捷。下面来具体讲解下几个数组函数的使用方式:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,807
精华内容 2,722
关键字:

vbs变量名