vba编程

VBA 宏编程

相关文件在连接  https://download.csdn.net/download/wei198621/10589098

一 前期安装条件

 

  1. 解压13+Vba6.3+for+WPS+.zip 文件夹内容,执行安装
  2. 将后缀从pptx改为pptm,这样可以运行宏

 

  1. 错误 用户定义类型未定义  ADODB.Connection

执行的时候可能会提示如下,  用户定义类型未定义  ADODB.Connection 需要添加引用,我机器上面安装的office版本比较多,选一个  Microsfot ActiveX Data Objects 版本 就可以

工具--》引用   

二  编辑界面

打开 开发工具 -》 宏 -》

选择编辑

 

插入  模块  定义要工作的PPT页码

如示例中定义了再幻灯片 2  3  中将会执行宏

 

插入--》类模块

SqlString  类模块内容

 

 

OracleHelper类模块内容

 

 

宏启用

 

 

默认应该是灰色的,需要安装宏工具,安装如下工具

 

打开VBA方法

ALT+F11 == 菜单 工具 宏 == (放在某个sheet名上面)右键 查看代码 == excel visual basic

 

 

三 核心函数介绍

 

最简单的宏写法

https://jingyan.baidu.com/article/4ae03de32663953efe9e6b47.html

 

getTable

getTable(ActivePresentation.Slides(1), 1) '(从1开始)

ActivePresentation.Slides(1) ,Slide 是幻灯片,从1开始,第一个就是1 ,不是0

 

Private Function getTable(slide As slide, index As Integer)

Dim sh As Integer

Dim ei As Integer

ei = 0

Rem 获取第2页

With slide

 For sh = 1 To .Shapes.count

   If .Shapes(sh).HasTable Then

    ei = ei + 1

    If ei = index Then

      Set getTable = .Shapes(sh).table

      Exit For

    End If

   End If

 Next

End With

End Function

 

getColIndex

Rem   key:7月 table:指定table   rowIndex:指定行  获取指定列索引

Private Function getColIndex(key As String, table As table, rowIndex As Integer)

    Dim colCount As Integer

        colCount = table.Columns.count

    Dim i As Integer

    For i = 1 To colCount

    If Trim(table.Rows(rowIndex).Cells(i).Shape.TextFrame.TextRange.text) = key Then

    Let getColIndex = i

    Exit For

    End If

    Next

End Function

 

 

 

四 真实执行

10.10.128.143:15389  上面有徐磊安装好的环境,将pptm文件放到这个上面,稍微修改 ,运行就可以了

大概执行6 7 分钟,P11页的SQL比较大

 

五 小知识点

1: 调试快捷键 :  F8  单步执行

2: Debug.Print  :打印变量等内容

3: xlsm 后缀  pptm 后缀  的可以进行VBA 编程  

由于VBA或者宏代码有一定的危害性,为了提高安全意识,凡是以XLSX为后缀名的文件都不能含有宏代码,需要将后缀保存为XLSM

 

 

 

 

猜你喜欢

转载自blog.csdn.net/wei198621/article/details/81485997
vba
今日推荐