控制用户打开excel文件后只能查看和编辑指定的Sheet页

本文介绍了一种方法,通过VBA代码控制用户打开Excel文件后仅能查看和编辑指定的Sheet页。在SOAOffice环境中,利用JS调用VBA接口,通过`onlyShow`函数循环隐藏非目标Sheet,并在`OnDocumentOpened`事件中设置。如果要防止用户编辑其他Sheet,可通过设置`SOAOfficeX.ExcelResponse`的`setAllUsedRangeNeedSubmit`为`true`来实现。
摘要由CSDN通过智能技术生成
系统如何控制用户打开excel文件后只能查看和编辑指定的Sheet页 代码下载:http://ishare.iask.sina.com.cn/f/10323532.html 这个问题肯定不是只有我一个人遇到了,不过有这么一个方法一起研究一下。当然要看你们用的是不是soaoffice了,公司项目里用的是这个产品,可以支持js在客户端调用vba接口来控制网页中Excel的表现。方法很简单,关键是下面的这个function,循环隐藏不需要显示的Sheet页,Sheet在VBA中是有Visible属性的: function onlyShow(sheetName) { var obj = document.getElementById("SOAOfficeCtrl").Document; for(var i=1; i <= obj.Application.Sheets.Count;i++) { if (obj.Application.Sheets(i).Name != sheetName) { obj.Application.Sheets(i).Visible = false; } obj.Application.Sheets(sheetName).Select(); } } 比方说要在打开文件的时候只显示Sheet1,那么就在soaoffice的OnDocumentOpened事件中添加一句代码:onlyShow(“Sheet1”); 代码如上,这样保证你打开的Excel文件只显示Sheet1(当然打开的Excel中要有Sheet1存在才行),不同用户登录后变量怎么设置的细节不说了,看代码吧。可能有高人一下就看出问题了,说可以手动设置Excel再把其他的Sheet显示出来。Exactly!有对策,webOpen打开文件的时候第二个参数使用:1就OK啦! 怎么又不能编辑了?有办法!创建SOAOff
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值