仓酷云
标题:
第23章:经由过程VBA程序利用Excel服务器(二)
[打印本页]
作者:
飘飘悠悠
时间:
2015-1-18 16:51
标题:
第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必要输出。
登录/注册后可看大图
23041.jpg
(11.14 KB, 下载次数: 2)
下载附件
保存到相册
第23章:经由过程VBA程序利用Excel服务器(二)
2015-1-18 16:51 上传
<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
为保住菊花,这个一定得回复!
作者:
再现理想
时间:
2015-1-30 12:38
发发呆,回回帖,工作结束~
作者:
精灵巫婆
时间:
2015-2-6 11:51
我也顶起出售广告位
作者:
灵魂腐蚀
时间:
2015-2-7 02:13
啥玩应呀
作者:
若相依
时间:
2015-2-11 07:04
LZ敢整点更有创意的不?兄弟们等着围观捏~
作者:
爱飞
时间:
2015-2-17 09:37
我也来顶一下..
作者:
仓酷云
时间:
2015-3-5 18:58
不错 支持下
作者:
柔情似水
时间:
2015-3-12 11:25
看帖要回,回帖才健康,在踩踩,楼主辛苦了!
作者:
若天明
时间:
2015-3-18 20:12
小白一个 顶一下
作者:
金色的骷髅
时间:
2015-3-24 02:37
小白一个 顶一下
作者:
愤怒的大鸟
时间:
2015-4-1 16:09
站位支持
作者:
小女巫
时间:
2015-4-1 16:31
顶起出售广告位
作者:
小魔女
时间:
2015-4-7 13:02
我是个凑数的。。。
作者:
变相怪杰
时间:
2015-4-21 04:01
撸过
作者:
冷月葬花魂
时间:
2015-4-26 11:00
元芳你怎么看?
作者:
海妖
时间:
2015-5-1 21:10
为保住菊花,这个一定得回复!
作者:
分手快乐
时间:
2015-5-6 01:29
边撸边过
作者:
第二个灵魂
时间:
2015-6-7 11:52
撸过
作者:
不帅
时间:
2015-6-15 21:03
求沙发
作者:
因胸联盟
时间:
2015-6-29 19:38
楼主呀,,,您太有才了。。。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2