Bootstrap

Day01:VBA和Python入门

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

VBA入门

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

环境配置

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_str
MsgBox mu_num

End Sub

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

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

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

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

批量注释方法:

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

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

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

for 循环

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

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

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

Sub main()

For i = 1 To 10
    my_func (i)
Next

End Sub
Sub my_func(ByVal my_num As Integer)

Debug.Print "现在的数字是:" & my_num

End Sub

while 循环

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

'case while
Sub main()

    Dim i As Integer
    Do While i < 10
        i = i + 1
        Debug.Print i
    Loop
    
End Sub

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

'case while
Sub 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 文件地址:

Python入门

python环境使用 ,搭建过程不再赘述。

小试牛刀

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 = 0
while i < 10:
    print(i)
    i = i + 1

作业01

j = 0
for i in range(1, 101):
    j = i + j
    i = i + 1
print(j)

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

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

def fx_c():
    print("B运行时,又调用了C")

def fx_b():
    print("此时,A正在调用B")
    print("*******************************************************************")
    fx_c()

def fx_a():
    fx_b()

fx_a()

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