vb网站数据采集器源码分享,vba 网络采集

这篇文章给大家聊聊关于vb网站数据采集器源码分享,以及vba 网络采集对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

Excel是一个非常复杂的软件,经过几十年的发展,功能越来越多。

我们总是会遇到各种问题,就好像面对一个个被打乱的魔方,无从下手。

各种教程提到的眼花缭乱的操作,就好像魔方高手三下两下拨弄好,然后拷问我们:简单吧,这都不会?

但是教程无法解释的是:为什么要这样操作。无法真正理解原理,即使当时掌握了,下次又会忘记。

是不是哪里出了问题?

我们需要的不是眼花缭乱的操作,而是基本原理和套路。就像解魔方一样,知道基本原理,经过思考,能推导出步骤,最终解决问题。

Excel就有这样一本秘籍,学会之后能够以不变应万变,解决几乎遇到的所有问题,这本秘籍就是(VBA)编程。

下面我们就开始进入编程的世界。

计算机

在谈到编程之前,我们需要先了解计算机?体系。

计算机由硬件和软件构成,从智能手机到超级计算机大同小异。硬件由CPU、内存、主板等构成,如果打开一台电脑主机可以看到类似下图的构造:

电脑主机构造

软件/程序大体可以分为操作系统与应用软件。WindowsiOSAndroid都是操作系统,应用软件基于操作系统运行,比如Excel、QQ。

软件最终会被翻译成硬件能执行的指令,CPU按照指令进行计算。

简而言之:软件是由开发者编写的指令,是开发者逻辑的体现,计算机只是遵从指令运行。

编写程序会用到不同的编程语言,常见的有C语言、Java、python、JavaScript等,还有我们要学的VB。

为什么会有这么多编程语言呢?

因为这些语言想要解决的问题不同,有的想要极致的性能、有的想要快速开发的效率。没有十全十美的编程语言,只有结合你所面临的问题和现状,挑选最合适的编程语言。

而解决Excel问题最合适的莫过于VB。

乘法表

代码,或者源代码,是开发者用编程语言写下的文字,就好像一张建筑施工图。

有的代码需要编译打包,生成一个可以运行的文件,比如我们下载的某软件安装程序,运行这个文件相当于运行代码。

VB代码不需要这些步骤就可以在Excel内运行,因为Excel会把VB代码翻译成计算机指令执行。

下面我们看一段打印乘法表的VBA代码:

SubMultiTable()\n\nDimiAsInteger\nDimjAsInteger\n\nDimsheetAsWorksheet\n\nSetsheet=Worksheets.Item(1)\n\nFori=1To9\n\nForj=1Toi\n\nsheet.Cells(i,j)=i&&34;&j&&34;&(i*j)\n\nNextj\n\nNexti\n\nEndSub

打开Excel,按下Alt+F11,或者鼠标右击工作表,选择“查看代码”,就可以打开VBE。输入上面的代码,点击工具栏的绿色箭头执行代码,再回到Excel可以看到执行结果。

运行代码

可以看到上面的VBA代码由以下元素组成:

英语单词和字母,只是很少量的单词数字英文符号,包括标点符号、数学计算符号

当前常见的编程语言都是类似的规则。

解析

我来一行一行的解释上面的代码:

SubMultiTable()\n\nEndSub

第一行和最后一行定义了一个过程。过程是VBA的一个概念,可以理解为给中间这几段代码起了个名称。类似我们在Excel中选定一块区域,给区域命名。

DimiAsInteger\nDimjAsInteger

第二行和第三行定义了两个类型为整数的变量,分别叫做i和j。变量是所有编程语言都有的概念,也是最基础的概念。变量可以理解为一个纸盒子,盒子里面可以存放数据。不同类型的变量就像不同形状的盒子,有方的、圆的,可以存放不同的数据。往盒子里存放数据的过程,称为赋值。当用到变量的的时候,相当于从盒子里取出数据,称为取值

DimsheetAsWorksheet\nSetsheet=Worksheets.Item(1)

第四行和第五行定义了一个类型为Worksheet工作表的变量,并把这个变量赋值为Excel第一张工作表,也就是Sheet1。VB和大多数编程语言类型,使用=符号表示赋值。就像在单元格里输入=xxx一样。

Fori=1To9\n&39;内部代码2\nNextj

第七行和倒数第三行的意思是和上面变量i的循环类似,不过这次不是1到9,而是1到i。所以:i等于1时,j的循环范围是1到1,执行1次内部代码。i等于2时,j的循环范围是1到2,执行2次内部代码。i等于9时,j的循环范围是1到9,执行9次内部代码。

大家可以把1Toi改成1To9,再查看运行结果。

sheet.Cells(i,j)=i&&34;&j&&34;&(i*j)

第八行的意思是:把sheet选中第i行第j列单元格的内容赋值为i*j=相乘结果。英文双引号括起来的部分称为字符串,或者称为文本。字符串可以包含中文,后面会详细讲。VB用&拼接字符串。所以当i是4,j是3的时候,拼接结果就是3*4=12。大家可以把i&&34;改成i&&34;试试。

上面的代码连起来就是:当i是1时,j从1到1,第八行的代码执行一次:将第1行第1列单元格的内容设置为1*1=1。当i是2时,j从1到2,第八行的代码执行两次:将第2行第1列单元格的内容设置为2*1=2,将第2行第2列单元格的内容设置为2*2=4。直到i是9,第9行的9个单元格都会被设置相应的内容。

代码的诞生

再来思考一个问题,上面的代码是怎么来的?或者说编程工作是怎么开始的?

通常按照以下步骤:

梳理需求:解决什么问题?实现什么效果?意外情况怎么处理?思考,将需求转换为严谨的思路:程序由哪些模块组成,每个模块需要做什么?出了错误怎么处理?将思路转换为代码。调试代码、测试代码,确保没有BUG,再交付。

梳理需求是至关重要的,通常需求由其他人:产品经理、领导,或者自己提出。如果你理解错了需求,那么后面的工作注定要失败的。

程序是开发者逻辑思路的体现,所以如果你的逻辑不清晰或者有漏洞,那么代码大概率是有BUG的。

切忌跳过前两步,直接开始写代码。前两步才是重中之重。

我对乘法表的需求是:

从1到9打印乘法表(而不是从9到1)第一行打印1*1,第二行打印1*11*2…

由于需求比较简单,所以第二步的思考就是:一个模块,按照需求运行就可以。

前两步完成之后,编写代码就相对简单了,按照VB的语法规则写出代码。

在整个过程中,编程语言只是一种工具,即使换一种编程语言,也是同样的流程。

虽然编程语言只是工具,但是为了更好的完成工作,我们需要学习、了解这个工具。

总结

乘法表的代码是不难理解的,但是很多同学不理解ForNext为什么要这么写。

因为VB是这么规定的,这称为编程语言的语法。编程语言一般使用几十个固定的英文单词,组成固定的语法,实现特定的逻辑,比如循环。

程序是给计算机执行的,所以编程语言需要固定而精确的表达,不像人类的语言那样随意和丰富,否则计算机是理解不了的。

后面的文章会详细讲解VB的基本语法,并结合示例实现更强大的功能。

最重要的是:一定要多思考,多练习。编程并不是魔法,而是像很多技能一样有着明确的学习路径。

无他,唯手熟尔。?

关于vb网站数据采集器源码分享的内容到此结束,希望对大家有所帮助。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平