以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何禁止编辑输出的excel报表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=44148)

--  作者:zpx_2012
--  发布时间:2013/12/24 11:36:00
--  如何禁止编辑输出的excel报表
如题,excel报表显示在excel中后想禁止用户再编辑里面的内容,只能调整一下行高或列宽。要如何实现。谢谢
[此贴子已经被作者于2013-12-24 12:24:23编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/12/24 11:54:00
--  

没有办法


--  作者:zpx_2012
--  发布时间:2013/12/24 12:07:00
--  
谢谢,那想要输出打印时用户不能编辑数据怎么办?难道只能用专业报表。
--  作者:狐狸爸爸
--  发布时间:2013/12/24 12:10:00
--  

除了专业报表,还有窗口打印


--  作者:zpx_2012
--  发布时间:2013/12/25 11:55:00
--  
各位大师,有没有直接在excel模板中控制的方法?谢谢!
如果在设计报表时将excel模板增加修改权限的密码,无密码者只读,但只对编辑模板有用,输出报表时不起作用。

--  作者:狐狸爸爸
--  发布时间:2013/12/25 11:57:00
--  
你可以去一些excel论坛问问,应该通过VBA可以实现的。
--  作者:逛逛
--  发布时间:2013/12/25 13:27:00
--  

锁定

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("文件路径")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("Sheet1")
Ws.Protect("123456",True,True,True)
Wb.Save
App.Quit

 

解锁

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("文件路径")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("Sheet1")
Ws.Unprotect("123456")
Wb.Save
App.Quit


--  作者:zpx_2012
--  发布时间:2013/12/25 13:32:00
--  
谢谢逛逛,正好在看excel与VBA这里,但有个问题,这样可以禁止修改但却不能调整行高或列宽了,因为有时打印的文本太多被挡住了,需要人为调整行高或列宽才可以看见。所以不能自动行高也是个问题。
[此贴子已经被作者于2013-12-25 13:51:07编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/12/25 14:18:00
--  
你用vba设置自动行高吧。