暑假,孩子的作业中有一项就是背诵九九乘法表,用Excel可以轻松的打印一个九九乘法表,家长开心,孩子快乐,让我们一起动手创建一个九九乘法表。

Python实现

python能做哪些vba做不了的(Python实现一个像VBA那样的表单内设计-九九乘法表)(1)

通过下段代码演示九九乘法表,源代码见code\14\xlwings\example_99.py。

import xlwings as xw

import os

curpath=os.path.dirname(__file__)

filename=os.path.join(curpath,'example_99.xlsm')

@xw.sub

def py_99():

wb = xw.Book.caller()

wt = wb.sheets[0]

for i in range(1,10):

for j in range(1,10):

if i>=j:

wt.range(i 10,j).value=str(i) '*' str(j) '=' str(i*j)

if __name__ == "__main__":

xw.Book(filename).set_mock_caller()

py_99()

VBA实现

python能做哪些vba做不了的(Python实现一个像VBA那样的表单内设计-九九乘法表)(2)

以下为VBA的代码,源代码见code\14\xlwings\xlwings_99.xlsm文件,打开Visual Basic编辑器就可以看到。其中VBA开头的过程由VBA本身来调用,Py开头的过程则通过RunPython函数调用。请注意区别。

Sub VBA_99()

Dim i As Long

Dim j As Long

For i = 1 To 9

For j = 1 To 9

If i >= j Then

Cells(i, j) = Str(i) & "*" & Str(j) & "=" & i * j

End If

Next j

Next i

End Sub

#python版本

Sub Py_99()

RunPython ("import example_99;example_99.py_99()")

End Sub

注意:在VBA代码中,使用RunPython()函数调用Python代码。

代码执行后,最终的效果如图所示。点击VBA开头的按钮,左边显示出VBA版本的九九乘法表,点击Py开头的按钮,下边显示出Python版本的九九乘法表。请读者自行验证测试。

python能做哪些vba做不了的(Python实现一个像VBA那样的表单内设计-九九乘法表)(3)

大家好,我是【Python办公自动化】:闲暇之余分享点文字、编程、设计等干货,希望和你一起成长。

分享专业全面的Python办公自动化知识,教你快速学习Python的方法,可以站内私信我。

,