请问vbs的下标越界怎么改?

除了数字,Python 也可以操作字符串。字符串有多种形式,可以使用单引号('……'),双引号("……")都可以获得同样的结果 [2]。反斜杠 \ 可以用来转义:

在交互式解释器中,输出的字符串外面会加上引号,特殊字符会使用反斜杠来转义。 虽然有时这看起来会与输入不一样(外面所加的引号可能会改变),但两个字符串是相同的。 如果字符串中有单引号而没有双引号,该字符串外将加双引号来表示,否则就加单引号。 print() 函数会生成可读性更强的输出,即略去两边的引号,并且打印出经过转义的特殊字符:

如果你不希望前置了 \ 的字符转义成特殊字符,可以使用 原始字符串 方式,在引号前添加 r 即可:

字符串字面值可以跨行连续输入。一种方式是用三重引号:"""...""" 或 '''...'''。字符串中的回车换行会自动包含到字符串中,如果不想包含,在行尾添加一个 \ 即可。如下例:

将产生如下输出(注意最开始的换行没有包括进来):

相邻的两个或多个 字符串字面值 (引号引起来的字符)将会自动连接到一起.

把很长的字符串拆开分别输入的时候尤其有用:

只能对两个字面值这样操作,变量或表达式不行:

如果你想连接变量,或者连接变量和字面值,可以用 + 号:

字符串是可以被 索引 (下标访问)的,第一个字符索引是 0。单个字符并没有特殊的类型,只是一个长度为一的字符串:

索引也可以用负数,这种会从右边开始数:

注意 -0 和 0 是一样的,所以负数索引从 -1 开始。

除了索引,字符串还支持 切片。索引可以得到单个字符,而 切片 可以获取子字符串:

切片的索引有默认值;省略开始索引时默认为0,省略结束索引时默认为到字符串的结束:

您也可以这么理解切片:将索引视作指向字符 之间 ,第一个字符的左侧标为0,最后一个字符的右侧标为 n ,其中 n 是字符串长度。例如:

第一行数标注了字符串非负的索引的位置,第二行标注了对应的负的索引。那么从 i 到 j 的切片就包括了标有 i 和 j 的位置之间的所有字符。

对于使用非负索引的切片,如果索引不越界,那么得到的切片长度就是起止索引之差。例如, word[1:3] 的长度为2.

使用过大的索引会产生一个错误:

但是,切片中的越界索引会被自动处理:

Python 字符串不能被修改,它们是 immutable 的。因此,向字符串的某个索引位置赋值会产生一个错误:

如果需要一个不同的字符串,应当新建一个:

请问高手,这个数组要如何定义??
它的错误提示是"下标越界"

大家好,在第47和48讲中,我们比较详细地给大家讲解了各种模块的有效行为。大家可以窥探到各种模块的实质,有了对于模块的认识,我们在写代码时就可以更好的把握自己的工程。那么对于一个工程而言,从需求,到思路的建立,到代码的编写,是不是就行了呢?不是的,在代码编写完后还有非常重要的一步,就是代码的调试。

关于VBA代码的调试,无论是标准模块的代码,还是窗体模块的代码,或者类模块中的代码,调试都是写代码工程中一项重要的工作。当房子建好后,我们首先要测试房子的各项指标是否达到了我们要求,这个就是程序调试。不是每个程序写完后都能马上正常运行,在某种程度上讲,写完代码后的调试本身就是写代码的一部分。有的程序调试过程很快,有的会时间长些,有的甚至会推倒重来。

所谓程序的调试,就是编制的程序在投入实际运行前,要进行的测试。

测试过程包括修正语法错误和逻辑错误。这是保证程序正确性的必不可少的步骤。通过测试时所发现的错误,要进行诊断,找出原因和具体的位置进行修正,从而完善程序。说的直白些,就是说你的房子搭建好后,在你搬家之前进行的综合检验。

程序调试的范围较广,一般包括如下几个方面:

1语法错误的检验:每一种语言都有自己的语法习惯,你写的代码必须要符合这些规范,而且是必须的。错一丝一毫也通不过。比如半角、全角;参数是否传递正确,是否有相应的属性等等。

2运行过程的检验:需要注意循环是否是闭合,with语句是否是闭合,参数的定义范围,数组的上下标是否越界等等。

3实际结果的检验:上面的第一第二都通过了,程序开始运行,但运行的结果不一定是你期望的结果。这就要考虑逻辑问题了。

4程序优化的检验,如果结果和你的预想一致,那么是否就说明程序完美了?不是的,还要有程序优化问题,包括:代码可读性是否强;占用内存是否最少;运行时间是否最短;可视效果是否最佳。

1分析思考与错误征兆有关的信息。

2调试的过程也是自己再学习的过程。

3修改错误的同时应避免产生新的错误。

1 代码写完后要再次阅读,要最大限度地减少书写的错误。

2 在大脑中模拟运行,这个过程十分关键。要让代码在你的大脑中先运行,看运行的步骤,哪个过程先执行,哪个后执行,数据怎么进行查找等等,这个过程也是检查你写代码的逻辑是否严谨。这个内容在《VBA代码解决方案-视频讲解》中我曾经多次地讲到。

3 分过程小范围调试,上述的步骤之后,开始真正的调试了,要先小范围的调试,看看数值的关系是否正确。充分利用语句的中断符,msgbox , 临时参数,分步骤运行等等。

4 总体的测试,小范围测试没问题后,开始执行大范围的测试。这个时候主要看最终的执行结果了,这个时候要设置特殊值来校验,不要一开始就执行几千几万的数据,要从几行开始。根据我的经验,一般出现问题常在一首一尾,所以要重视首尾的数据运行结果。如果与自己大脑的设想结果全然不符,就要检查你编程的逻辑了。

5 数据的追踪。当出现了非预期的数值或者现象的时候,要知道如何去追踪数据,这里就靠自己的经验了,但仍要注意语句的中断符,msgbox , 临时参数的利用。

1 代码调试的意义是什么?

2 如何理解代码的调试行为?

在取代OFFICE新的办公软件没有到来之前,谁能在数据处理方面做到极致,谁就是王者。其中登峰至极的技能非VBA莫属!众鸟高飞尽,孤云独去闲。相看两不厌,只有敬亭山。

学习VBA是个过程,这个过程是自己忍受孤独的过程。

“水善利万物而不争”,你看她绵绵密密,微处则无声,巨则汹涌。学习亦如此,把握现在,为达千里,需要默默耕耘,知道什么是自己所需要的,不要蜷缩在一小块自认为天堂的世界里,待到暮年时去自欺欺人。要在当下,用一颗充满生机的心灵,努力提高自己,这才是进取。越是有意义的事情,困难会越多。愿力决定始终,智慧决定成败。不管遇到什么,都是风景。看淡纷争,看轻得失。一杯茶,满也好,少也好,不要去计较;浓也好,淡也好,其中都有值得品的味道。去感悟真实的时间,静下心,多学习,积累福报。而不是天天混日子,也不是天天熬日子。一切众生的心都在变化,像时间一样,永远不会停留,把握现在就是福报。

VBA是利用Office实现自己小型办公自动化的有效手段,我记得20年前自己初学VBA时,那时的资料甚少,只能看源码自己琢磨,真的很难。20年过去了,为了不让学习VBA的朋友重复我之前的经历,我根据自己多年VBA实际利用经验,推出了五部VBA专门教程,回向给需要学习的朋友:

第一套:VBA代码解决方案 是VBA中各个知识点的讲解,覆盖绝大多数的VBA知识点,初学必备;

第二套:VBA数据库解决方案 数据库是数据处理的专业利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作。

第三套:VBA数组与字典解决方案 数组和字典是VBA的精华,字典是VBA代码水平提高的有效手段,值得深入的学习。

第四套:VBA代码解决方案之视频 是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。

第五套:VBA中类的解读和利用 这是一部高级教程,讲解类的虚无与肉身的度化,可以对促进自己理论的提高。

学习的过程也是修心的过程,修一个平静的心。在代码的世界中,心平静了,心情好了,身体自然而然就好。心静则正,内心里没有那么多邪知邪见,也就没有那么多妄想。在平静中积累自己的财富。我的上述教程是我多的经验的传递,大家可以根据1,3,2,5或者是4,3,2,5的顺序逐渐深入的逐渐学习。

最后将一阙词送给致力于VBA学习的朋友:

唯有清风,惊了梦中啼莺。

阡陌人,昏灯明暗,忍顾长亭。

暗夜中,悄声寻梦,盼却天明。

我要回帖

更多关于 后缀改成vbs没反应 的文章

 

随机推荐