写点什么

Day01:VBA 和 Python 入门

用户头像
披头
关注
发布于: 2021 年 03 月 13 日
Day01:VBA和Python入门

工作中免不了加班,提高办公自动化水平是减少加班的有效手段。本文开始跟随【IT 蜗壳教学】一起打卡学习办公自动化,期待一个不一样的我~~~

VBA 入门

以前对 VBA 是有一些抵触的,一直感觉 VBA 代码晦涩难懂,前几天听了 Tango 的直播讲解,感觉还好。

环境配置

VBA 编码环境配置简单,只要打开 EXCEL ,按 Alt + F11 快捷键就可以调出 VBA 编辑界面了,如下图

双击红色区域打开代码编辑区

小试牛刀

  • 自定义方法定义

程序代码需要写在一个方法中,自定义方法定义如下:

Sub my_func()
'这个区域写程序代码
End Sub
复制代码


一个完整的 VBA 代码程序包含对象定义、对象赋值、对象的调用及展示,VBA 中使用对象之前需要先进行定义:

Sub my_func()
'对象定义Dim my_str As String '字符型对象Dim my_num As Integer '数字型对象
'对象赋值my_str = "hello world"mu_num = 100
'对象的调用及展示MsgBox my_strMsgBox mu_num
End Sub
复制代码

点击左上方的绿色小箭头,即可看到 excel 界面弹出的消息框。


此时,按 Ctrl + s 快捷键保存文件时,弹出如下对话框

  • 点击“是”,文件保存为未启用宏的工作簿,刚才写的代码全部丢失(如果写了很多代码没有保存真是太惨了)

  • 点击“否”,保存为 Excel 启用宏的工作簿(*.xlsm),即可保存 VBA 代码

批量注释方法:

右击 VBA 代码编写环境右上方处,勾选【编辑】,将【编辑】框拖动到上方的工具栏,编辑栏即可找到批量注释的快捷按钮。

每次运行结果呈现在 excel 中,代码在 VBA 窗口编写太不方便了,推荐使用 立即窗口 + debug.print 方法进行调试,依次点击 视图 -> 立即窗口 即可调出立即窗口(用于返回程序的运行结果)。点击运行即可看到如下运行结果:

代码调试时,让程序运行下一条的快捷键是 F8

for 循环

VBA 方法直接是可以相互调用的,只要在主函数中加入自定义方法即可。

字符串和变量拼接需要使用 & 符号

在程序入参处定义数据类型的代码如下:

Sub main()
For i = 1 To 10 my_func (i)Next
End SubSub my_func(ByVal my_num As Integer)
Debug.Print "现在的数字是:" & my_num
End Sub
复制代码


while 循环

while 语句示例结构,需要特别注意的是:一定要避免出现死循环,否则书写的代码有可能全部丢失

'case whileSub main()
Dim i As Integer Do While i < 10 i = i + 1 Debug.Print i Loop End Sub
复制代码

while 语句中还可以加入 if 判断,比如:输出 1~10 内的奇数

'case whileSub main()
Dim i As Integer Do While i < 10 If i Mod 2 = 1 Then Debug.Print i End If i = i + 1 Loop End Sub
复制代码


作业 01

1. 计算 1 至 100 的和,结果打印出来。

Sub main()
Dim i As Integer Dim j As Integer j = 0 For i = 1 To 100 j = i + j Next Debug.Print j End Sub
复制代码


2. 打印 1 至 100 的奇数,结果打印出来。

Sub main()
Dim i As Integer Do While i < 100 If i Mod 2 = 1 Then Debug.Print i End If i = i + 1 Loop End Sub
复制代码


3. 创建两个方法,依次调用,A 调用 B,B 调用 C。

Sub fx_a()
fx_b End Sub
Function fx_b()
Debug.Print "此时,A正在调用B" Debug.Print "*******************************************************************" fx_c End Function
Function fx_c()
Debug.Print "B运行时,又调用了C"
End Function
复制代码

VBA 文件地址:

https://github.com/mba1398/RPA_work/tree/main/day01

Python 入门

python 环境使用 Anaconda+vs code ,搭建过程不再赘述。

小试牛刀

python 变量使用之前无序定义数据类型,便可直接使用,这是和 VBA 的不同之处

my_str = 'hello wolrd'my_num = 100
print(my_str)print(my_num)
复制代码


for 循环

for i in range(0, 10):    print(i)
复制代码


while 循环

i = 0while i < 10:    print(i)    i = i + 1
复制代码


作业 01

  1. 计算 1 至 100 的和,结果打印出来。

j = 0for i in range(1, 101):    j = i + j    i = i + 1print(j)
复制代码


  1. 打印 1 至 100 的奇数,结果打印出来。

for i in range(1, 101):    if i % 2 == 1:        print(i)    i = i + 1
复制代码


  1. 创建两个方法,依次调用,A 调用 B,B 调用 C。


python 方法调用需要注意:一定要先定义再调用,否则会报错。

def fx_c():    print("B运行时,又调用了C")
def fx_b(): print("此时,A正在调用B") print("*******************************************************************") fx_c()
def fx_a(): fx_b()
fx_a()
复制代码


本次的学习就到这里了,下次继续。


发布于: 2021 年 03 月 13 日阅读数: 47
用户头像

披头

关注

还未添加个人签名 2018.11.13 加入

数据科学爱好者,懂点SQL,会点Python,公众号【数据科学探究】

评论 (2 条评论)

发布
用户头像
很棒啊!
2021 年 03 月 14 日 20:30
回复
在星哥面前,我就是个渣渣,O(∩_∩)O
2021 年 03 月 14 日 21:45
回复
没有更多了
Day01:VBA和Python入门