zoukankan      html  css  js  c++  java
  • VBA基础

    概要

    学习一种新语言, 数据类型和关键字是第一步.

    数据类型

    常用的数据类型如下:

    类型 存储空间 范围
    Boolean 2 bytes True 或者 False
    Byte 1 byte 0 ~ 255
    Integer 2 bytes -32768 ~ 32768
    Long 4 bytes -2147483648 ~ 2147483647
    LongLong 8 bytes -2147483648 ~ 2147483647
    String 10 bytes + string length 0 ~ 20 亿个字符
    Object 4 bytes 可以赋值给任何对象引用
    Single 4 bytes -3.402823E38 ~ -1.401298E-45 (对负值)
    1.401298E-45 ~ 3.402823E38 (对正值)
    Double 8 bytes -1.79769313486231E308 ~ -4.94065645841247E-324 (对负值)
    4.94065645841247E-324 ~ 1.79769313486231E308 (对负值)
    Date 8 bytes 100 年 1 月 1 日 ~ 9999 年 12 月 31 日 0:00:00 ~ 23:59:59
    Variant 16 bytes 任意值, 性能较低

    VBA 中提供了一系列 函数 用于类型之间的转换

    运算符

    运算符是和数据类型同样, 是使用最多的部分.

    类型 运算符 说明 示例
    算术运算符 * 乘法 MyValue = 2 * 2 ' Returns 4.
    ^ 乘方 MyValue = 2 ^ 2 ' Returns 4.
    / 除法运算, 返回浮点型结果 MyValue = 10 / 4 ' Returns 2.5.
    除法运算, 返回整数结果 MyValue = 100 3 ' Returns 33.
    Mod 求余数 MyResult = 10 Mod 3 ' Returns 1.
    + 加法 MyNumber = 2 + 2 ' Returns 4.
    - 减法 MyResult = 4 - 2 ' Returns 2.
    比较运算符 = 判断是否相等 Check = (4 = 4) ' Returns True
    Is 判断 2 个对象的引用是否相同 Set ThisObject = MyObject
    MyCheck = ThisObject Is ThisObject ' Returns True.
    Like 比较字符串时, 可以使用通配符, 简化版的正则 MyCheck = "aBBBa" Like "a*a" ' Returns True.
    连接运算符 & 连接字符串 MyStr = "Hello" & " World" ' Returns "Hello World".
    + 除了作为加法, 还可以用在字符串上 Var1 = "34": Var2 = 6; MyNumber = Var1 + Var2 ' Returns 40.
    Var1 = "34": Var2 = "6"; MyNumber = Var1 + Var2 ' Returns "346".
    逻辑运算符 And 逻辑与
    Eqv 逻辑等于
    Imp 不太常用 imp-operator
    Not 逻辑非
    Or 逻辑或
    Xor 逻辑异或

    变量

    有了数据类型, 就可以定义各种变量, 完成相应的计算. 变量的定义和计算, 和其他编程语言也没有什么区别, 这里主要提下变量的生命周期.

    全局变量和局部变量

     1  Dim globalX As Integer
     2
     3  Sub Test()
     4      f1
     5      globalX = globalX + 1
     6      localX = localX + 1
     7      f1
     8  End Sub
     9
    10  Function f1()
    11      Dim localX As Integer
    12
    13      Debug.Print "全局变量  " & globalX
    14      Debug.Print "局部变量  " & localX
    15  End Function
    

    运行 Test, 输出:

       全局变量  0
       局部变量  0
       全局变量  1
       局部变量  0
    

    静态变量和动态变量

     1  Sub Test()
     2      f1
     3      f1
     4      f1
     5  End Sub
     6
     7  Function f1()
     8      Dim dX As Integer
     9      Static sX As Integer
    10
    11      sX = sX + 1
    12      dX = dX + 1
    13      Debug.Print "静态变量  " & sX
    14      Debug.Print "动态变量  " & dX
    15  End Function
    

    运行 Test, 输出:

       静态变量  1
       动态变量  1
       静态变量  2
       动态变量  1
       静态变量  3
       动态变量  1
  • 相关阅读:
    array.prototype.slice.call(arguments)
    axios 的坑
    Cannot read property 'range' of null
    IDEA导入Eclipse的JavaEE项目详细步骤链接
    使用 yarn 安装时,报错node_modules ode sass:Command failed.
    axios post请求非json传参设置
    vue-cli 3.x跨域配置
    idea错误: 找不到或无法加载主类
    Git 上传新项目
    Windows下生成SSH密钥
  • 原文地址:https://www.cnblogs.com/wang_yb/p/11597902.html
Copyright © 2011-2022 走看看