Wps二次开发——VBA入门教程


创建时间:09/06/2011 02:29:10 PM 修改时间: 10/31/2011 05:40:49 PM
文档分类:BS开发-开发入门及架构, BS开发-开发技巧
相关文档:本文档没有相关文档
Wps二次开发——VBA入门教程




VBA是什么:


     Visual Basic for Applications
VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft OfficWPS Office软件 。



VBA和
VB的区别:

    
1. VB是设计用于创建标准的应用程序,VBA是使已有的应用程序(WPS等)自动化
    2. VB
具有自己的开发环境,VBA必须寄生于已有的应用程序
    3. 要运行
VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),VBA开发的程序必须依赖于它的父应用程序



VBA安装及使用:

   自带
VBA版本的wps无需再安装
    可从网上下载
VBA安装包(大概23M)推荐下载地址:http://ishare.iask.sina.com.cn/f/9791885.html?from=like
    安装完成后打开
wps文字按alt+f11打开VBA编辑窗口,或如下图点击按钮弹出

    


   VBA编辑窗口:


    





什么是宏:

   宏我们可以看做为一个程序过程,一系列可执行的VBA
语句。
   下面介绍如何创建一个简单的宏:
            a. 打开
VBA编辑窗口
            b. 在代码区输入如下代码

    复制内容到剪贴板
    代码:
        Sub test() 'sub为宏语句开始标记 test为自定义宏名称
        Dim st as String 'Dim声明字符变量
        St= "这是我的第一个宏" '为变量赋值
        Msgbox St '过程的具体语句
        End Sub '宏结束语句
c. 光标移到代码上按F5或点击运行宏按钮 (F8可以逐语句运行)

           操作参考如下:
            




WPS,  ET,  WPP所包含的接口简要介绍:

         WPS
:指WPS Office中的文字组件,对应MSO中的Word组件,WPS中包含的接口主要是用来操作文档的一组API,可以通过API对文档的任何细节元素(文档内容、段落、格式、域、标签、表格图片、工具栏等等)进行操作,完全兼容MS-WORDAPI口。

         
ET:指WPS Office中的电子表格组件,对应MSO中的Excel组件,ET中包含的接口主要是用来操作电子表格的一组API,可以通过API对表格的任何细节元素(单元格、公式、数组、数据筛选、外部数据链接等等)进行操作,完全兼容MS-EXCELAPI接口

      
WPP:指WPS Office中的演示组件,对用MSO中的PowerPoint组件,WPP中包含的接口主要是用来操作演示文稿的一组API,可以通过API对演示文稿的任何细节元素(幻灯片、模板、动画、播放设置等等)进行操作,完全兼容MS-PowerPointAPI接口




Wps
文字常用的接口
接口名称
描述
Application该对象代表 WPS 应用程序,包含最高级对象的属性和方法
Bookmark代表单个书签
Bookmarks由 Bookmark 对象所组成的集合,该集合中的对象代表指定的选定内容、区域或文档中的书签
Cell代表单个表格的单元格
Comment代表单个批注
Dictionary代表一个自定义词典对象
Document该对象代表 WPS 的一篇文档
InlineShape该对象包含单个嵌入式图形
RangeRange 对象代表文档中的一个连续范围
Selection该对象代表窗口或窗格中的当前所选内容
Tables该对象是由文档中的所有表格组成的集合
wps实例应用
      实现效果:创建一个工具栏,添加
3个按钮名称分别为“文字”,“表格”,“图片”,并实现单击后在文档中添加文字,表格,图片功能。
      代码如下:(黄色突出显示为涉及较为重要的对象)

    复制内容到剪贴板
    代码:
        Sub test()
        '声明一个工具栏对象
        Dim comb As CommandBar
        '添加一个新的工具栏并命名为“我的工具栏”
        Set comb = Application.CommandBars.Add("我的工具栏")
        '添加一个按钮 名字为“文字” 指定单击时调用宏“InsertText”
        With comb.Controls.Add(KsoControlType.ksoControlButton)
        .Caption = "文字"
        .OnAction = "InsertText"
        End With
        '添加一个按钮 名字为“图片” 指定单击时调用宏“InsertImg”
        With comb.Controls.Add(KsoControlType.ksoControlButton)
        .Caption = "图片"
        .OnAction = "InsertImg"
        End With
        '添加一个按钮 名字为“表格” 指定单击时调用宏“InsertTable”
        With comb.Controls.Add(KsoControlType.ksoControlButton)
        .Caption = "表格"
        .OnAction = "InsertTable"
        End With

        End Sub
        Sub InsertText()
        '写入文本
        Selection.TypeText "Kingsoft Office 2009"
        '居中对齐
        Selection.ParagraphFormat.Alignment = wpsAlignParagraphCenter
        '新段落
        Selection.TypeParagraph
        End Sub
        Sub InsertTable()
        '插入表格
        Dim mytable As Table
        '指定表格的行列数
        Set mytable = Selection.Tables.Add(Selection.Range, 3, 3)
        End Sub
        Sub InsertImg()
        '插入图片
        Dim myimg As InlineShape
        '图片路径为与文档同一目录下名字为"logo.png"
        Set myimg = Selection.InlineShapes.AddPicture(ThisDocument.Path & "logo.png")
        End Sub
ET常用的接口
接口名称
描述
Application该对象代表 ET 应用程序。包含可返回最高级对象的属性和方法
Chart代表工作簿中的图表。该图表既可为嵌入图表(包含在 ChartObject 中),也可为一个单独的图表工作表
Comment代表一条单元格批注
Filter代表单列的筛选
Interior代表对象的内部
Range 代表某一单元格、某一行、某一列、某一选定区域(该区域可包含一个或若干连续单元格区域),或者某一三维区域
Shape该对象代表图形,可使用 ShapeRange 对象对该对象进行操作
Sheets 该对象代表工作簿或当前活动工作簿中所有工作表的集合
Workbook代表 WPS表格 工作簿。Workbook 对象是 Workbooks 集合的成员
Window该对象代表 ET 应用程序中的窗口对象



ET
实例应用
    实现效果:在表格
1中填写相应的数据后,点击录入按钮,把数据写到表格2
       如下图:

        表格1


         
 
        
        表格2:
         
 
        
       实现上面的效果我们可以先在代码区定义2
个宏,代码如下:
    复制内容到剪贴板
    代码:
        Sub InsertDada()
        '声明一个数组对象
        Dim arr(1 To 7)
        '为数组赋值
        arr(1) = Sheet1.Range("b2").Value '把b2单元格的值赋给数组的第一个元素
        arr(2) = Sheet1.Range("b3").Value
        arr(3) = Sheet1.Range("b4").Value
        arr(4) = Sheet1.Range("b5").Value
        arr(5) = Sheet1.Range("b6").Value
        arr(6) = Sheet1.Range("b7").Value
        arr(7) = Sheet1.Range("b8").Value
        '在表格2中添加数据 UsedRange.Rows.Count为用户使用到的行数
        Sheet2.Rows(Sheet2.UsedRange.Rows.Count + 1).Value = arr
        '清空录入后的数据
        Sheet1.Range("b2:b8").Value = ""
        '完成录入提示框
        MsgBox "录入成功!"
        End Sub
    复制内容到剪贴板
    代码:
        Sub ClearData()
        '重置输入文本
        Sheet1.Range("b2:b8").Value = ""
        End Sub


   
    然后为录入和重置按钮指定宏
    右击按钮——》选中指定宏  如图:
      
 


     
     然后选上对应的宏,再确定
      
 
Wpp常用接口
接口名称
描述
ActionSettingActionSetting 对象表示 WPS 演示的动作设置,包括对象动作设置和演示文字动作设置
AnimationBehavior代表动画效果的动作、主动画序列或交互式动画序列
AnimationPoint 代表动画动作的单个动画点。AnimationPoint 对象是 AnimationPoints 集合的成员。AnimationPoints 集合包含动画动作的所有动画点
AnimationSettingsAnimationSettings对象代表幻灯片放映时应用于指定形状的动画的特殊效果
Application演示应用程序
SlideSlide 对象表示 WPP 应用程序中的一张幻灯片
DocumentWindow代表一个文档窗口
Effect代表有关幻灯片动画的计时信息
FillFormat该对象代表一个图形的填充格式。一个图形可以具有渐变、纹理、图案、图片或半透明填充
Selection代表指定文档窗口中的选中对象
Shape该对象代表图形,可使用 ShapeRange 对象对该对象进行操作



Wpp
实例应用
   以下实例为按顺序给幻灯片添加背景图片
   代码如下:
    复制内容到剪贴板
    代码:
        Sub InsertPic()
        '声明一个整形变量
        Dim i As Integer
        '循环文档中的所有幻灯片
        For i = 1 To ActivePresentation.Slides.Count
        '选中当前的幻灯片
        ActivePresentation.Slides(i).Select
        With ActiveWindow.Selection.SlideRange
        '指定幻灯片区域不继承母版背景
        .FollowMasterBackground = ksoFalse
        '设置背景图片
        .Background.Fill.UserPicture "F:\\img\\bg" & i & ".jpg"
        End With
        Next
        End Sub



   
F5运行此宏
运行效果如下图:
   
 
  
图片路径位置和名字: