EXCEL如何查看修改痕迹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL如何查看修改痕迹相关的知识,希望对你有一定的参考价值。

1、打开excel表格,在工具栏中点击“审阅”选项。

2、在“审阅”中找到“修订”并点击下拉三角形,选择下拉框中的“突出显示修订”。

3、随后会弹出设置的对话框,将下图中红圈标注的位置中的勾选框选中后点击确定。

4、此时,弹出提示对话框,点击对话框中的“是”。

5、即可将表格更改为修订有痕迹的操作模式,在表格中输入任意字符,即可看到修改标记。

参考技术A 这个基本上删不掉,但是你可以先把表格里面的内容选中然后复制到写字板上,不能点全选的,要手动选,然后再手动选中写字板上的内容粘贴到新建的excel里就好了,就是颜色什么的都没了
希望可以帮到你

还有一个办法新学到的
第一部分:如何给Excel工作簿减肥
除了工作簿本身有宏病毒(关于如何识别宏病毒,本文的结束处有说明)外,有下列的几个原因可能导致工作簿异常膨胀

一。工作表中的格式过于复杂(如多种字体,多种颜色,条件格式等等)

我们都知道,一个工作表有65536*256个单元格,这个非常大的一个范围。我们在应用一些格式设置时,往往为了方便,直接在整行,或整列,或者在多行和多列中应用,这样其实是不妥当的。我相信很少有人会用满整列,或者整行。大量的没有用到的单元格被加上了一些格式后,Excel并不总是知道这个单元格是不需要用的,而往往在计算时会包括这些单元格。另外,格式的多样性(包括字体,颜色等),势必是要造成Excel文件体积变大。1. 用尽量少的格式样式,如字体和颜色,毕竟Excel的优势不是在于文书,版面的展示(那是Word,PowerPoint等的强项)
2. 删除“空白”的单元格。找到工作表中最右下角的单元格(请注意:除非你有自信,请不要过分依赖Excel 的"定位"=>"最后一个单元格"所给你的结果),我是说你可以手工找到这个单元格。使用整行、整列删除命令,这样按Ctrl+End就可以定位到有数据的最后一个单元格了,删除全部,然后保存,在实操中,有人按Ctrl+Shift+向下键时选定了全面,并填充了公式,导致整个工作表容量变大,所以这里提醒各位注意.

二。图片或者其他绘图图形较多,或者图片选择了不恰当的格式

选择适当的图片格式

在文档中引用的图片格式一般有三种,BMP、JPG、GIF。BMP格式保存的图片保真度较高,但大小往往是其它两种格式的几倍至几十倍,而照片、扫描图片等用GIF格式保存则失真非常严重,因此建议图片先采用JPG格式保存,然后再引入到文档中,这种格式的图片大小不仅比BMP格式小很多,而且往往也比GIF的格式小,而保真度与BMP格式则相差无几。

利用“插入”引入图片

插入图片有两种方法,第一种是将图片保存为一个JPG格式的文件,选择“插入→图片→来自文件”,打开“插入图片”对话框,选中所需插入的图片文件,点击“插入”即可。另一种是用“画图”、“Microsoft照片编辑器”等打开这个JPG文件,选中并复制,然后在文档中点击“粘贴”即可插入。强烈建议大家采用第一种方法,虽然两种方法得到的图片质量是一样的,但第一种方法所形成的文档的大小可能会比第二种小几十倍!有些人怕麻烦,但这效果带来很大收益,就是令你的表格变小.值得做啊.彻底清除图形对象:例如我们自己画的一些图形,比如你现在不要用它们了,你选择行或者列范围删除,清除都是清除不掉了,他们只是可能缩小了。这个时候,就可以用到本版"流浪的风"提到过的一个方法

1.先找到其中的一个文本框(找不到就自己添加一个)
2.选中这个文本框,按F5--->定位条件--->对象-->确定
3.按Delete清除
4.保存关闭
5.看看现在文件有多大,打开看看速度还慢不慢
三。公式和名称较多或者公式,名称,数据透视表等所引用的单元格范围过大,或将公式转换成数值
已经不用或较长时间用不到的数据,特别是公式链接引用的,可将其转换为数值形式保存,避免了大量公式占用表格内存空间,这也是导致运行速度变慢的主要原因,如链接到网络时保存可能会显示路径过深等不能保存情况。
选定要转换的公式区域,按右键复制,注意不要移动鼠标,再按右键选择-选择性粘贴,在弹出对话框里选择数值确定即可。这样把公式转换成数值,使表格身材大减.

由于和第二点类似的原因,我们在定义名称,编写公式,指定数据透视表的数据源时往往图一时方便,而指定了过大的单元格范围。例如在A列中有包括标题在内的10个数据(A1:A10),标题为“姓名”,我们现在要定义一个名称,例如"姓名",很多人会用 插入=〉名称=〉指定=〉首行,这当然是方便的,但这样的话“姓名”这个名称就引用了A2:A65536,而不是实际的A2:A10。你能想象到两者的差别吗?
这时候,有的朋友要说:我这样做的原因是因为我的数据是在不断增加的呀,我可不想每次在变动的时候都去改这个名称。

当然,是对的,谁会愿意这样做呢?

当我确信我定义的这个名称所引用的范围不可能是固定的时候,我采用了一个方法就是“动态命名”。听起来有点耳熟对吗?请看这个例子:为简单起见,我们假设数据都是连续地在A10后面开始添加,也就是说我们希望当我们添加到A15时,这个"姓名"就如我所愿地指向A2:A15,而这一切都是自动完成的。那么你可以在"插入"=〉"名称"=>"定义"对话框中,找到"姓名",然后修改引用位置为=OFFSET($A$2,0,0,COUNTA($A: $A)-1,1),然后点击"添加"。请留步,先不要急着关闭这个对话框。你现在可以将鼠标放在"引用位置"的这个框里面,由此来验证你要的结果。看到了吗?工作表中那一闪一闪的区域就表示了目前"姓名"所引用的单元格范围。

这只是一个简单的示范,利用这种技巧,可能让我们用最经济的方式得到我们需要的结果。

在公式引用中,在指定数据透视表的数据源时,都可以运用类似的技巧。当然,我不会推荐你写类似这样的公式=CountA(OFFSET($A$2,0,0,COUNTA($A: $A)-1,1)),而是推荐你先定义好这个名称,然后这样写公式:=CountA(姓名)

这种效果在数组公式中更明显,除非你有足够的耐心和勇气,请不要在数组公式用引用过大的单元格范围,特别是那些不必要的单元格。

请注意,以上的检查应该是针对工作簿中的所有工作表,包括隐藏的

四。VBA代码,尤其是用户窗体的影响(VBA偶不熟)

现在很多朋友都已经学会了用VBE来构建自己的工程,这是多么令人振奋的一件事!但今天我们要讨论的是如何处理VBA工程可能带来一些副作用以及如何压缩它?
有很多测试证明,用户窗体会是增加文件大小的比较突出的原因之一。而反复地改写工程中模块的代码,也或多或少地会增加文件的大小(我们可以这样理解:反复地改写工程代码,总是会留下一些痕迹和碎片)

对于这个问题,可以考虑将所有模块,窗体,都导出为文件,然后保存,然后再依次导入。

关于用户窗体,作为开发者应该考虑的是:是否真的有必要用某个窗体?举个简单的例子,如果只是接收用户输入数值,就完全可以用InputBox方法或者属性,而不需专门用一个窗体。同时,工作表本身可以用来做用户交互的界面,应该充分利用。

五。外部链接(特别是死链接)的影响

有的时候,我们的工作簿中可能包含了一些外部引用,这样我们可以共享其他工作簿的一些信息。如果你的工作簿中包含外部链接,你可以通过"编辑"=>"链接"对话框中查看到。默认情况下,文件在打开时,总是尝试去链接源文件,以刷新数据。在保存时,会纪录链接的变化情况。

当源文件的位置或者内容发生变化时,就可能产生死链接。

我个人非常不主张用链接方式来实现不同文件间数据的共享,这既不是最方便的方法,而且在文件分发过程中会遇到一些问题。我当然知道数据共享是有意义的,但我经常会尝试用其他的途径来实现。

六。关于自动保存选项的考量

选中这个选项时,每次进行保存文档的操作则只保存文档的修改部分,保存速度较快,但文档的大小也会增加,即使是对文档进行删减操作也是如此。目前计算机的速度较快,因此开启这项功能所带来速度的增加毫不明显,但付出的代价是文档的大小急剧膨胀,建议不要选中这个选项。试着关闭这个选项,再对文档稍作修改,然后保存,你会惊奇地发现文档的大小会大幅度缩小!但在执行此操作时要注意:你的电脑是否配有UPS不间断电源,在不通知情况下断掉电源可能会造成数据的丢失。因此养成不时按Ctrl+S键保存文件是很重要,我自己经常这样做的,也推荐大家这样。

七。文件异常退出(或者其他不可预见的原因)造成的工作簿内工作表结构方面的损坏
有时候,由于一些不可预见的原因(例如停电),Excel被迫异常退出。虽然目前没有专门的工具可以检测这种情况对工作簿内部可能造成的损坏程度,但是有理由相信多少是有影响的。

如果你的文件中不存在前面提到的几个问题,同时你还是确信文件体积不正常,你可以尝试如下的方法

新建一个工作簿,把现有文件中的工作表一一剪切到新的工作簿中。请注意这里用的是“剪切”方法,不是“移动或复制工作表”,也不是“复制”。没错,就是先选中工作表中的内容,然后“剪切”,光标移动到目标工作表,然后“粘贴”。这样做唯一不足的地方就是,目标工作表的行和列格式可能要稍微调整一下。

八。针对公司部分表格较大的表,可以实行工作簿分离
对于工作表容量较大,如在10MB以上的或运行速度较慢时,可以采用此方法。但由于分离出来的工作簿变成工作表了,数量将不断大,所以必须规范归好档,建议用文件夹归类放好。你一个表3个工作簿30MB,分离出来变成三个工作表,假设每个工作簿是10MB的话,那分离出来的工作表就是10MB了,10MB跟30MB运行起来的差别大家可以试试.在公司我是要求他们尽量将大表分离出来.
参考技术B 点工具--修订--突出显示修订--在编辑时突出显示修订前打上勾,下面时间、位置、修订人(需要选择查看修改范围)都打上勾。保存即可。他人修改后,你再打开文件。点工具--修订--突出显示修订,取消时间、位置、修订人后,点确定退出。excel的界面上就会出现框线和三角标记,移动鼠标上去,等一下,就会出现修改痕迹。 参考技术C 如果你怀疑有人动了你的工作簿的话,首先你可以看一下工作簿大小和修改时间,如果确定有人修改了莫个项目你可以用VLOOKUP函数引用判断是否与之前数据相同(前提下必须有备份),实在不行就加密工作簿。以上都是个人经验,原创。 参考技术D 用宏,编个小程序把以后的输入全数保存起来,随时可以看到
这样吧,做给你好了,可能很多人都用得着
注意,我这个程式将你在SHEET1表里的修改全部都改成蓝颜色,并且将SHEET1的所有修改全部COPY到SHEET3里面,这样改了哪些你一看就知,如果你不想让人知道你留了一手,就把Target.Font.ColorIndex = 5这句去掉,在SHEET1改的就不会有任何痕迹。

按ALT+F11
直接copy下面的代码贴上就是,不懂的话itsangler@163.com

Private Sub Worksheet_Change(ByVal Target As Range)

Target.Font.ColorIndex = 5
Dim R, C As Long
R = Target.Row
C = Target.Column
Worksheets("Sheet1").Cells(R, C).Copy
ActiveSheet.Paste Destination:=Worksheets("Sheet3").Cells(R, C)

End Sub

security可以针对用户设置只读权限吗

术之多
Security4:授予查看定义,执行SP和只读数据的权限

2022-10-15 原文
SQL Server数据库有完善的权限管理机制,对于存储过程,其权限分为查看定义,执行和修改,查看SP定义的权限是:VIEW DEFINITION ,执行存储过程的权限是:EXECUTE,修改SP的权限是:ALTER,但是该权限也能修改表结构,视图的定义等数据库对象。数据的读取权限是SELECT,这个查看定义是不同的权限。对于一个数据表,如果仅授予VIEW DEFINITION权限,而没有授予SELECT权限,那么用户只能查看数据表的结构(Schema),而无法查看表中存储的数据。

在管理权限时,可以给特定的用户授予“只能读取数据和执行SP,而不能修改数据”的权限,也就是,使特定的用户只能查看数据(只读,SELECT),只能查看定义(VIEW DEFINITION),和执行SP的权限(EXECUTE),这样的权限设置,既能使用户查看到业务数据,又能避免用户私自修改数据。

对于数据的读取权限,SQL Server内置固定数据库角色 db_datareader,把用户添加到该角色中,用户就被授予了对数据库中所有数据(表或视图)的读取权限,就是说,用户可以对数据表或视图执行select命令读取数据;也可以逆向思考,不允许用户修改数据,把用户添加到固定数据库角色 db_denydatawriter 中,这样,用户不能添加,更新和删除任何数据,就是说,不能对任何数据表执行insert,updae和delete命令。这两个数据库角色,相当于以下两个命令:

grant select to [domain\user];
deny update,delete,insert to [domain\user];
权限的分配分为:授予(grant)和拒绝(deny),对于已分配的权限,也可以通过回收(revoke)命令收回,权限管理是个技术活。

一,授予查看定义的权限

查看数据库对象的权限是VIEW DEFINITION,通常数据库对象是指:数据表,视图,存储过程,函数等,被授予VIEW DEFINITION权限之后,用户只能查看定义,而无法从数据表或视图中查看数据,无法执行SP和函数等。

1,授予SQL Server实例级别的查看定义的权限

以下代码用于授予权限VIEW ANY DEFINITION,代码必须在master数据库中执行,使指定的用户能够查看当前SQL Server实例中的所有数据库对象的定义:

use master
go
grant view any definition to [domain\user]
2,授予User,只能查看当前数据库对象的定义的权限

以下代码用于授予VIEW DEFINITION,使指定的用户能够查看指定数据库中的所有对象的定义:

use db_name
go
grant view definition to [domain\user]
3,授予User,只能查看当前数据库的指定数据库对象的定义的权限

以下代码用于授予VIEW DEFINITION,通过on子句,使指定的用户能够查看指定对象的定义:

use db_name
go
grant view definition
on object::schema_name.object_name
to [domain\user]
二,授予执行存储过程的权限

以下代码授予用户执行存储过程的权限,通过on子句指定用户只能执行特定的SP:

use db_name
go
grant execute
on object::schema_name.object_name
to [domain\user]
如果grant execute省略on子句,表示所有的SP,这样,用户可以执行数据库中的所有SP:

use db_name
go
grant execute
to [domain\user]
三,授予用户修改存储过程的权限

修改存储过程的权限是ALTER,但是,ALTER同时也能修改表结构,视图定义等数据库对象,如下代码所示:

GRANT ALTER TO [domain\user]
如果仅授予用户修改SP的权限,那么必须逐个设置,或者把SP创建在独立的schema下,通过授予用户修改schema,达到控制用户只修改SP的目的:

GRANT ALTER
ON SCHEMA::proc_schema
TO [domain\user]
四,授予用户查看SP的定义,执行和修改SP的权限

通过GRANT子句,可以一次性把查看SP的定义,执行和修改SP的权限都授予指定的用户:

GRANT ALTER, EXECUTE, VIEW DEFINITION
ON SCHEMA::[proc_schema]
TO [domain\user]
在GRANT子句中省略ON子句,表示授予用户的权限作用于所有的数据库对象,包括数据表,视图,存储过程,函数等。

五,授予Public用户查看定义的权限

当Login没有映射到相应的User时,该Login被映射到默认的Public,设置给用户查看定义的权限,这样,每个登陆到SQL Server实例的用户,都可以查看定义。

use master
go
grant view any definition to public

use dbn_ame
go
grant view definition to public
六,授予用户查看定义,只读数据和执行SP的权限

存储过程 sp_msforeachdb @command 是微软未公开的存储过程,该存储过程遍历当前的SQL Server实例的所有数据库,在每个数据库中执行相同的命令:

use master
go

create login [domain\user]
from windows;
go

grant view any definition
to [domain\user] ;
go

exec sp_msforeachdb
'
use [?];
if not exists
(
select *
from sys.database_principals
where name=''domain\user''
)
create user [domain\user]
for login [domain\user];
alter role db_datareader
add member [domain\user];
grant execute to [domain\user];
'
go
遍历数据库的功能,也可以使用游标来实现,本文不再赘述。

参考文档:

Run same command on all SQL Server databases without cursors

Granting View Definition Permission to a User or Role in SQL Server

Security4:授予查看定义,执行SP和只读数据的权限的更多相关文章

MySQL能否授予查看存储过程定义权限给用户
在其他RDBMS中,可以将查看某个存储过程(PROCEDURE)定义的权限给某个用户,例如在SQL Server中,可以单独将查看ProcedureName定义的权限授予UserA GRANT VIE ...

查看ORACLE执行计划的几种常用方法
SQL的执行计划实际代表了目标SQL在Oracle数据库内部的具体执行步骤,作为调优,只有知道了优化器选择的执行计划是否为当前情形下最优的执行计划,才能够知道下一步往什么方向. 执行计划的定义:执行目 ...

查看Job执行的历史记录
SQL Server将Job的信息存放在msdb中,Schema是dbo,表名以“sysjob”开头. 一,基础表 1, 查看Job和Step,Step_ID 是从1 开始的. select j.jo ...

查看Oracle执行计划
1.PL/SQL解释计划窗口 优点:方面 缺点:看到信息有限 2.explain_plan for 针对某个句子优化较方便 3.sqlplus Sqlplus里输入命令: set autotrace ...

如何查看MySQL执行计划
在介绍怎么查看MySQL执行计划前,我们先来看个后面会提到的名词解释: 覆盖索引: MySQL可以利用索引返回select列表中的字段,而不必根据索引再次读取数据文件 包含所有满足查询需要的数据的索引 ...

查看SQL执行计划
一用户进入某界面慢得要死,查看SQL执行计划如下(具体SQL语句就不完全公布了,截断的如下): call count cpu elapsed disk ...

MSSQL优化之——查看语句执行情况
MSSQL优化之——查看语句执行情况 在写SQL语句时,必须知道语句的执行情况才能对此作出优化.了解SQL语句的执行情况是每个写程序的人必不可少缺的能力.下面是对查询语句执行情况的方法介绍. 一.设置 ...

查看Oracle执行计划的几种方法
查看Oracle执行计划的几种方法 一.通过PL/SQL Dev工具 1.直接File->New->Explain Plan Window,在窗口中执行sql可以查看计划结果.其中,Cos ...

查看Mysql执行计划
使用navicat查看mysql执行计划: 打开profile分析工具: 查看是否生效:show variable like ‘%profil%’; 查看进程:show processlist; 选择 ...

随机推荐

从零自学Java-1.编写第一个Java程序
编写第一个Java程序 完成工作:1.在文本编辑器中输入一个Java程序. 2.使用括号组织程序. 3.保存.编译和运行程序. package com.Jsample;//将程序的包名称命名为com. ...

JSP 过滤器
JSP教程 - JSP过滤器 JSP过滤器是可用于拦截来自客户端的请求或处理来自服务器的响应的Java类. 过滤器可用于执行验证,加密,日志记录,审核. 我们可以将过滤器映射到应用程序部署描述符文件w ...

ASP.NET动态引用样式表(css)和脚本(js)文件
// 引入js文件 HtmlGenericControl scriptControl = new HtmlGenericControl("script"); scriptContr ...

mySQL 约束 (Constraints)
约束用于限制加入表的数据的类型: 1.创建表时规定约束(通过 CREATE TABLE 语句) 2.表创建之后也可以(通过 ALTER TABLE 语句). 约束类型: NOT NULL(非空) UN ...

直播内容不合规怎么办?智能AI为您解决审核难题
背景 近些年来,视频直播快速发展,大量的直播平台如雨后春笋一般出现,但是这同样给直播内容的监管带来了巨大的挑战,一方面国家对于直播内容监管的要求日益严格,另一方面相对于文字内容的审核,多媒体内容的审核 ...

selenium - pycharm三种案例运行模式
1.unittest 运行单个用例 (1)将鼠标放到对应的用例,右键运行即可 2.unittest运行整个脚本案例 将鼠标放到if __name__ == "__main__": ...

dns服务器测试工具
下载地址:https://www.eatm.app/wp-content/uploads/2018/08/eDnsTest.20180810.zip

ArcGIS API for JS4.7加载FeatureLayer,点击弹出信息并高亮显示
我加载的是ArcGIS Server本地发布的FeatureService,ArcGIS API for JS4.7记载FeatureLayer时,在二维需要通过代码启用WebGL渲染,在三维模式下, ...

[2018-12-15] Hello World!
这个blog以后就用来发oi相关的算法与数据结构了 还可能想学习一点web前端的知识和一些与计算机有关的软件和技术 可能有空大概会试试搭建blog以及一些各种软件和c++以外的玩意

理解RHEL上安装oracle的配置参数 :/etc/security/limits.conf, /etc/profile, /etc/pam.d/login
无论安装什么版本的Oracle,在安装之前,都需要配置 /etc/pam.d/login /etc/profile /etc/security/limits.conf这三个文件 那这三个文件究 ...

热门专题

VUE如何设置登陆超时和未登录跳到登录界面COOKIE SERVER2016 集成 SHELL FOR I 2个变量 数据库用户账号密码加密校验 安卓PTRACE HOOK框架 OPENCV 显示图片内存泄漏 VB.NET HTTP接口 静态参数@AUTOWIRED注入不进去 QT5 UTF-8转GBK TCL语言 如何定义三维数组 PHP 二维码转 四维 DELPHI CS构架 客户端卡 UBUNTU如何挂在EXFAT格式 AJAX连接C语言程序 使用JENKINS常见报错汇总 POSTGRESQL判断视图是否存在,存在便删除 MASK RCNN 论文 VS无法查看脚本被哪些预制体引用吗 TCP IP通讯数据传输 WPF DATAGRID教程
Home
Powered By WordPress
参考技术A 是的,可以设置用户的只读权限。只读权限可以限制用户只能查看系统中的信息,而不能更改或删除任何内容。

以上是关于EXCEL如何查看修改痕迹的主要内容,如果未能解决你的问题,请参考以下文章

怎么查看excel表格以前的修订记录?

能否查询excel修改记录

win10查看电脑使用痕迹

请问如何在MyEclipse中查看项目的修改记录?

如何查看和修改Weblogic的数据源

Linux基础篇之系统痕迹查询