如何把一个EXCEL文档设置成只有我自己能修改,别人只能浏览的模式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把一个EXCEL文档设置成只有我自己能修改,别人只能浏览的模式?相关的知识,希望对你有一定的参考价值。

如果是用手工设置的话,只要使用“工具”->“保护”->“保护工作薄”就行了

如果要用程序写的话?你录制一个宏不就知道了?

ActiveWorkbook.Protect Structure:=True, Windows:=False
这是宏,用DELPHI写:
uses comobj;
var
ExcelApp,MyWorkBook: OLEVariant;
begin
num:=0;
if opendialog1.Execute then
begin
try
ExcelApp:=CreateOleObject('Excel.Application');
MyWorkBook:=CreateOleobject('Excel.Sheet');
except
application.Messagebox('无法打开Xls文件,请确认已经安装EXCEL.','',
mb_OK+mb_IconStop);
Exit;
end;
MyworkBook:= ExcelApp.workBooks.Open(opendialog1.FileName);
MyworkBook.Protect('',true,true,true,true,true,true);
...

VBA中关于protect的说明:
Protect 方法

保护图表或工作表(语法 1)或工作簿(语法 2),使之不能被修改。

语法 1

expression.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly)

语法 2

expression.Protect(Password, Structure, Windows)

expression 必选。返回 Chart 或 Worksheet 对象(语法 1)或 Workbook 对象(语法 2)的表达式。

Password Variant 类型,可选。加在工作表或工作簿上区分大小写的密码字符串。如果省略本参数,不用密码就可以取消对该工作表或工作簿的保护。否则,取消对该工作表或工作簿的保护时必须提供该密码。如果忘记了密码,就无法取消对该工作表或工作簿的保护。最好在安全的地方保存一份密码及其对应文档名的列表。

DrawingObjects Variant 类型,可选。若为 True 则保护形状。默认值为 False。

Contents Variant 类型,可选。若为 True 则保护内容。对于图表工作表,这样将保护整个图表。对于工作表,这样将保护每个单元格。默认值为 True。

Scenarios Variant 类型,可选。若为 True 则保护方案。本参数仅对工作表有效。默认值为 True。

Structure Variant 类型,可选。若为 True 则保护工作簿结构(工作簿中工作表的相对位置)。默认值为 False。

UserInterfaceOnly Variant 类型,可选。若为 True 则保护用户界面,但不保护宏。如果省略本参数,则即保护宏也保护用户界面。

Windows Variant 类型,可选。若为 True 则保护工作簿窗口。如果省略本参数,则不保护该窗口。

说明

如果对工作表使用 Protect 方法时,将 UserInterfaceOnly 参数设置为 True ,然后又保存了工作簿,那么再次打开工作簿时,整个工作表将被完全保护,而非仅仅保护用户界面。若想在再次打开工作簿后仅保留该工作表的用户界面保护,必须再次将 UserInterfaceOnly 参数设置为 True 并应用 Protect 方法。
参考技术A 另存为,点工具常规选项,加上修改权限密码,

java中把列表用流生成了Excel表格中的时间显示问题

java中把列表用流生成了Excel表格,然后里面有时间,生成时时间格式是字符串,生成后在Excel中也被默认为字符串,如何设置直接让Excel识别,自己用鼠标点了以后自动从字符串格式转为时间格式,但是信息太多的时候这肯定不科学,求赐教!!!
为什么只能传图片,不支持文档的上传呢

参考技术A 可以再Java代码中将时间格式进行设置,然后再导出excel文件。追问

设置了也是字符串格式,后面多个“.0”没关系的

追答

重新找出一个导出的Java代码,我用过一个poi的,导出后格式合适的。是不是你在上传文件的时候有格式验证,若果是图片格式能上传,文档格式不能上传呢???

追问

你用的是jar包嘛,我这是自己写的,发个链接地址吧

参考技术B 还是没有表述明白,你是想要带AM和PM的时间格式?追问

我的时间格式要弄字符串导出成Excel后,Excel默认时间格式为字符串,当我点击以后,给修改成了Excel认识的时间格式

这个是导出格式的问题,你说的这个我在鼠标点击后,可移执行单元格格式,在没有点击前,他是默认不能识别执行的

以上是关于如何把一个EXCEL文档设置成只有我自己能修改,别人只能浏览的模式?的主要内容,如果未能解决你的问题,请参考以下文章

java中把列表用流生成了Excel表格中的时间显示问题

如何才能实现多人在线编辑EXCEL?

POI EXCEL导出时,有些数字出现多余的小数

如何能让Java生成复杂Word文档

能不能用JAVA类实现把EXCEL文件转化成PDF文件

怎样将EXCEL里的时间由12小时制转变成24小时制