飘飘悠悠 发表于 2015-1-18 16:51:45

第23章:经由过程VBA程序利用Excel服务器(二)

用户总是希望勤哲能提供一些通用的模块能够给用户以借鉴,减少用户的摸索时间.正因为上述原因我决定写一个用Excel服务器实现各种应用系统的系列教程,引导客户快速上手迅速搭建出自己需要的系统 23.2 Excel服务器VBA编程接口

Excel服务器客户端组件是在安装目次下的一个文件----ESClient.dll,它不是VBA程序,而是一个Com加载项,相称于对Excel附加了功效。Com载加项也是一种对象,我们能够在VBA程序中挪用它供应的办法(编程接口)。
若要在VBA程序中挪用Excel服务器的功效,起首必要声明对象,经由过程挪用对象的办法来完成想要的功效,最初,还必要开释对象。
以下面的代码片段,第1行声了然一个变量对象oAdd,第2行设置该变量为Excel服务器客户端组件所对应的Com加载项。两头部分详细的操纵,最初1行开释对象。
若要经由过程VBA程序利用Excel服务器,开首的两行和最初的一行代码都是必须的,所分歧的只是两头省略的部分。

Dim oAdd As Object
oAdd = Application.COMAddIns("ESClient.Connect").Object
…….
       这里能够挪用客户端组件的分歧办法
…….
oAdd = Nothing
23.2.1 主动保留、一连输出

办法申明
saveCase办法,感化是保留以后正在填报的表单。该办法有三个参数:
参数1:要省略
参数2:布尔型,是不是省略保留对话框,默许值为False,也即显现保留对话框。
参数3:布尔型,是不是扣问持续填写下一张,默许值为True,也即扣问是不是填下一张。
前往值:布尔型,True暗示保留乐成,False暗示保留失利
示例
我们一般用Excel服务器填报完成一张表单后,必要手工点击【保留】工具栏按钮,或挑选“文件à保留”菜单,才干保留。关于有大批表单需一连输出的情形,这类做法必要键盘和鼠标瓜代操纵,效力不高。
我们能够经由过程在Worksheet_ctionChange事务处置程序中挪用saveCase办法,使得录进员只必要操纵键盘,当数据录进完成,光标跳转到最初一个数据项出,主动保留,呈现新的表单守候输出,过程当中不必要利用鼠标。
假定有以下的模版,界说三个数据项:x、y和录进工夫,个中录进工夫有默许值,x和y必要输出。


<br>










我们但愿录进员的帮助举措次数起码:
输出x,按回车,输出y,按回车,保留乐成,提醒是不是填下一张,按回车(相称于回覆【是】),呈现新的一张空缺表,光标主动回到C2处。
输出一张票据的过程当中帮助举措只要三次回车,没有鼠标举措。上面看一下完成体例。
在模版的计划形态下,翻开Visual Basic编纂器,在Worksheet_ctionChange事务处置程序中输出以下代码:(为解说便利,加上了行号)

1
Private Sub Worksheet_ctionChange(ByVal Target As Range)
2
    Dim oAdd As Object
3
    Dim bResult As Boolean
4
   
5
    oAdd = Application.COMAddIns("ESClient.Connect").Object
6
   
7
    If Target.Address = "$C$4" Then
8
      bResult = oAdd.saveCase(, True, True)
9
      If bResult = False Then
10
            MsgBox "保留失利!"
11
      Else
12
            Range("C2").ct
13
      End If
14
    End If
15
   
16
    oAdd = Nothing
17
End Sub

第1行,Worksheet_ctionChange为事务处置程序名,它对应于单位地区被选中这一事务。这个事务处置程序有一个参数Target,它代表被选中的单位地区。
第2行,声明对象变量(必需如许写)
第5行,设置变量oAdd对应于Excel服务器客户端组件(必需如许写)
第7行,判别光标跳到的单位格是否是C4,假如不是,间接转到第16行(甚么也没做)
第8行,(光标跳到了C4单位格),挪用Excel服务器客户端组件供应的saveCase办法,实践保留以后已填好的表单,不弹出保留对话框,但保留后会扣问是不是持续填写。
第12行,(保留乐成)光标跳转到C2处,守候持续输出。
第16行,开释对象(必需如许写)

本例在示例数据库中。

经过十年的发展,已成为拥有180多名员工,年销售额1.5亿元的专业厂商,并在上海、合肥都拥有生产基地,是国内最具规模的室内光缆生产厂家之一。随着FTTH时代的到来,将给企业的发展带来更大的机遇,同时也面临更大的挑战。

乐观 发表于 2015-1-28 19:56:52

为保住菊花,这个一定得回复!

再现理想 发表于 2015-1-30 12:38:01

发发呆,回回帖,工作结束~

精灵巫婆 发表于 2015-2-6 11:51:52

我也顶起出售广告位

灵魂腐蚀 发表于 2015-2-7 02:13:02

啥玩应呀

若相依 发表于 2015-2-11 07:04:30

LZ敢整点更有创意的不?兄弟们等着围观捏~

爱飞 发表于 2015-2-17 09:37:13

我也来顶一下..

仓酷云 发表于 2015-3-5 18:58:49

不错 支持下

柔情似水 发表于 2015-3-12 11:25:01

看帖要回,回帖才健康,在踩踩,楼主辛苦了!

若天明 发表于 2015-3-18 20:12:23

小白一个 顶一下

金色的骷髅 发表于 2015-3-24 02:37:27

小白一个 顶一下

愤怒的大鸟 发表于 2015-4-1 16:09:50

站位支持

小女巫 发表于 2015-4-1 16:31:56

顶起出售广告位

小魔女 发表于 2015-4-7 13:02:51

我是个凑数的。。。

变相怪杰 发表于 2015-4-21 04:01:13

撸过

冷月葬花魂 发表于 2015-4-26 11:00:28

元芳你怎么看?

海妖 发表于 2015-5-1 21:10:59

为保住菊花,这个一定得回复!

分手快乐 发表于 2015-5-6 01:29:24

边撸边过

第二个灵魂 发表于 2015-6-7 11:52:55

撸过

不帅 发表于 2015-6-15 21:03:12

求沙发
页: [1] 2
查看完整版本: 第23章:经由过程VBA程序利用Excel服务器(二)