VB 学习笔记

这一个月由于工作的需要,学习了一点 VB.net 操作 Excel,记录一下笔记

vb 里面的下标

vb 里面的下标有三种:

  • 从 0 开始:当我们在 vb 中定义一个数组时,下标只能从 0 开始
    • Dim arr(2) as String 中的 arr 数组长度为 3 注意不是 2
    • Dim arr(1 to 10) as String 则会报错 数组的下限只能是 0
  • 从 1 开始:主要用于从 0 开始会引发异常的 collections 比如 Tabs, Pages, Controls(listBox, TextBox),Excel 里面的复杂类型下标都是从 1 开始
  • 字典类型 下标为键值

在代码中尽量使用 LBound 和 UBound 来获取数组最小和最大下标,可以在模块中使用option base 1 来指定下标从 1 开始

VBA 数组下标详解
VBA option base 使用

关于 Excel lastUsedRow 和 lastUsedColumn

Excel 中 Worksheet.UsedRange.Rows 是指 Excel 工作簿中第一个不为空的行到最后一个不为空的行之间的行数 R,所以如果工作簿中一开始有空行的话,最后返回的结果为「R - 开头空的行数」,所以可能不是我们所预期的结果。

所以不要依靠 Worksheet.UsedRange.Rows 来获取最后一行而应该使用参考链接的方法

关于获取 Excel last rows

为什么 vb 中使用 Worksheet.UsedRange.Rows.Count 得到的结果是错的

关于 vb 的异常处理

VB 中使用 try catch 捕获异常,使用 throw 抛出异常。

但是如果有两个类分别在两个模块中,想在 A 类模块的函数中调用 B 类中的函数并捕获 B 类函数的异常,就会报个警告:Exception 类型异常在「模块 2」中发生但未处理

# 模块 1
Public Class Test1
    Private T = new Class Test2

    Private Sub test1()
        Try
            T.Test()
        Catch ex as Exception
            MsgBox(ex.message)
        End Try
    End Sub

End Class

# 模块 2
Public Class Test2
    Public Sub Test()
        Throw new Exception(“error”)
    End Sub
End Class
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值