VB 学习笔记

VB 学习笔记这一个月由于工作的需要,学习了一点VB.net操作Excel,记录一下笔记vb里面的下标vb里面的下标有三种:从0开始:当我们在vb中定义一个数组时,下标只能从0开始Dimarr(2)asString中的arr数组长度为3注意不是2Dimarr(1to10)asString则会报错数组的下限只能是0从1开始:主要…

大家好,又见面了,我是你们的朋友全栈君。

这一个月由于工作的需要,学习了一点 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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151918.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • sscanf,sscanf_s及其相关使用方法「建议收藏」

    sscanf,sscanf_s及其相关使用方法

  • 背包问题九讲笔记_完全背包[通俗易懂]

    背包问题九讲笔记_完全背包[通俗易懂]摘自TianyiCui童鞋的《背包问题九讲》,稍作修改,方便理解。本文包含的内容:———————————————完全背包问题描述已知:有一个容量为V的背包和N件物品,第i件物品的重量是weight[i],收益是cost[i]。条件:每种物品都有无限件,能放多少就放多少。问题:在不超

  • adb安装TWRP

    adb安装TWRP1.刷入TWRPfastbootflashrecoverytwrp-3.0.2-0-hammerhead.imgadb进入fastbootadbrebootbootloader刷完TWRP后进入TWRPfastbootflashrecoveryrecovery.img

  • IDEA循环MAP的快捷键和自己常用的循环MAP方式

    IDEA循环MAP的快捷键和自己常用的循环MAP方式IDEA循环Map的快捷方式,IDEA快捷键map.keySet().iter循环输出Map的key键IDEA快捷键map.values().iter循环输出Map的key的value值//循环mapfor(Strings:map.keySet()){//输出map中keySystem.out.println(s);//获取map中key的valuemap.get(s);}这种循环不需要考虑越界问

  • 误删数据?如何快速恢复Oracle数据库[通俗易懂]

    误删数据?如何快速恢复Oracle数据库[通俗易懂]误删oracle数据库中的数据,在不考虑全库备份和利用归档日志情况,怎样快速恢复数据呢?下面介绍3种方法。1.利用oracle提供的闪回方法进行数据恢复,适用于delete删除方式首先获取删除数据的时间点:select*fromv$sqlwheresql_textlike’%table_name%’;1根据结果中的sql_text内容,找到delete执行语句对应的删除时间点,执行下面语句查询出删除的数据。select*fromtable_nameasoftim

  • oracle与mysql的区别面试题_oracle和db2的主要区别

    oracle与mysql的区别面试题_oracle和db2的主要区别Oracle与Mysql区别Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。Oracle支持大并发,大访问量,是OLTP最好的工具。安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。Oracle也Mysql操作上的一些区别①主键Mysql一般使用自动增长类型,在创建表时只要指定表的主键为

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号