|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
用户总是希望勤哲能提供一些通用的模块能够给用户以借鉴,减少用户的摸索时间.正因为上述原因我决定写一个用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时代的到来,将给企业的发展带来更大的机遇,同时也面临更大的挑战。 |
|