求助excel 高手,目前可以定时关闭excel,如何再增加代码实现不开启宏就打不开excel?

这是定时关闭的代码,求高手再增加实现不开启宏就打不开excel的代码。

第1例 禁用宏则关闭Excel文件

一、实例说明:
当打开含有宏的文件时,如果“禁用宏”并打开文件后,所有编辑的VBA程序将失效。如何当用户打开Excel文件并禁用宏时,让文件自动关闭呢?本例即是调用Excel4.0版(Excel的一个老版本)的宏命令来解决这个问题。因为“禁用宏”功能无法禁用4.0版本的宏。
设置完成后,当用户打开文件并点击禁用宏按钮后,会弹如图1-24所示提出框,当击“确定”按钮关闭提示框后该文件就会自动关闭。
图1-1 禁用宏后的提示信息
二、设置步骤和使用方法:
1、 打开自已含有宏的文件或者新建一个Excel文件。然后在VBE编辑器中添加一个模块。并写入以下代码:
Function MY()
End Function
添加后的效果如图1-2所示
图1-2 给文件添加一个模块并写入代码
2、在任一个工作表标签上单元格右键,执行【插入】命令打开如图1-26所示【插入】对话框,在常用选项卡中选取“MS Excel4.0宏表”项,然后点击确定按钮后便会在当前工作簿中新建一个默认名Macro1的“宏表”。如图1-27所示。
图1-3 打开【插入】对话框
图1-4 插入的宏表
2、 在宏表的以下单元格中输入公式:
A2单元格: =ERROR(FALSE)
A3单元格: =RUN("MY")
A4单元格: =IF(ISERROR($A$3))
A5单元格: =GOTO($A$11)
A6单元格: =END.IF()
A7单元格: =ERROR(TRUE)
A8单元格: =RETURN()
A11单元格:=ALERT("对不起!由于禁用了宏,本文件将自动关闭!",3)
A12单元格:=FILE.CLOSE(FALSE)
A13单元格:=RETURN()
添加后的效果如图所示1-28
图1-5 在宏表中添加公式后的效果
3、 逐个选取工作簿中其他工作表,然后执行【插入】/【名称】/【定义】命令,打开【定义名称】对话框。在“在当前工作簿中的名称”框中输入:工作表名称+Auto_Activate。如图1-29所示在Sheet1工作表中打开【定义名称】对话框,定义的名称就为:Sheet1!Auto_Activate。然后在引用位置文本框中输入:=Macro1!$A$2。

图1-6 在每个工作表中都定义相对应的名称
注:当禁用宏并打开设置名称的工作表后,都会自动关闭文件。有一点值得说明一下,如果对于一个工作表数量较多的工作表逐个设置会很麻烦。所以这时可以只需为其中一个设置名称,但要保障“当打开工作簿时,必需是设置名称的工作表处于选取状态”。为了能达到这个效果,建议关闭文件前把除“定义名称工作表”之外的其他工作表都设置为隐藏。
4、 在每个工作表都定义名称后,保存并关闭文件。整个操作过程序结束。
三、代码要点分析
由于宏表函数的使用和运行比较复杂,所以这里不再详细说明。读者只需按照上述步骤实现“禁用宏则关闭Excel文件”的功能即可。读者可以在已编写宏命令的文件中进行以上操作,也可以先新建一个文件完成以上步骤后,再编写自已的程序代码和进行其他的工作表和单元格等编辑。

这个是我在网上找的你试试 2003可以 2007 不行
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-29
是先有蛋还是先有鸡。顺序搞清楚没有。
如果他没有开启宏。则代码根本不起作用。你写得再好。再多代码也不会得到执行。
所以不能用宏来限定他打开与否。

求助excel 高手,目前可以定时关闭excel,如何再增加代码实现不开启宏就...
1、 打开自已含有宏的文件或者新建一个Excel文件。然后在VBE编辑器中添加一个模块。并写入以下代码:Function MY()End Function 添加后的效果如图1-2所示 图1-2 给文件添加一个模块并写入代码 2、在任一个工作表标签上单元格右键,执行【插入】命令打开如图1-26所示【插入】对话框,在常用选项卡...

EXCEL高手如何用VBA宏实现自动关闭
通常的做法是,在关闭工作簿事件中将所有有用的工作表深度隐藏,显示一个没有的工作表,可在其中写明必须启用宏之类的提示信息。在工作簿打开事件中,将有用工作表显示,无用工作表隐藏。这样当不启用宏打开工作簿将没有任何有用内容,只能看见一个无用工作表中的提示信息。打开时启用宏才能看到和使用...

能不能实现EXCEL定时关闭?
楼上的代码结合一下就行了,thiswork里的open,用ontime触发aa宏的关闭表格事件。(以下代码为15秒触发宏 aa)Private Sub Workbook_Open()Application.OnTime Now + TimeValue("00:00:15"), "aa"End Sub建模块,输入如下代码。(以下代码为保存并退出工作簿,保存一下不至于输入的内容丢失)Sub a...

运行宏的时候,其他excel文件就不能进行操作,怎么办
如果宏代码运行很耗时,而且前台操作数据变化不会造成灾难,可以在宏语句中增加了DoEvents是EXCEL响应前台操作。或者使用OnTime把任务分片定时调用,看起来宏在后台执行。

excel如何实现连续3分钟未使用自动保存并关闭?
如果一定要实现定时自动关闭的话,请使用以下代码:Private Sub Workbook_Open()Dim ot As Date '定义旧时间数据类型变量 Dim nt As Date '定义最新时间数据类型变量 ot = Time '获取现在时间(老)Do DoEvents nt = Time '获取现在时间(新)If DateDiff("s", ot, nt) = 600 Then...

Power Automate Desktop : 自动刷新 Excel Power Query 的几种方式...
另一种方法是使用VBA脚本在Excel中自动刷新Power Query。打开Excel并启用VBA功能,编写脚本刷新所有Power Query查询并等待异步查询完成。设置Excel启动时自动执行此脚本,确保宏功能开启。测试脚本运行,实现自动刷新数据。如果需要进一步优化,可以在VBA代码中增加保存Excel文件的步骤。这种方法提供了自动化刷新功能...

EXCEL表格中数字更改后如何自动变色
1、打开Excel,按住键盘Ctrl+A,全选Excel表格,在菜单栏选择【开始】;2、在开始选项中,选择【条件格式】,下拉菜单中选择【新建规则】;3、在弹出菜单中,选择规则类型中选择【只为包含以下内容的单元格设置格式】,编辑规则说明中第二格选择【等于】,第三格输入“1”;4、选择【格式】,在格式弹出...

excel中,如果A1单元格中包含“学生”字段,则B1单元格显示为1,否则为2...
打开“工具”,选“选项”,再选“常规”,在“最近使用的文件清单”下面的文件个数输入框中改变文件数目即可。若不在菜单中显示最近使用的文件名,则将“最近使用的文件清单”前的复选框去掉即可。 3、在EXCEL中输入如“1-1”、“1-2”之类的格式后它即变成1月1日,1月2日等日期形式,怎么办? 这是由于EXCEL...

求助excel 高手,目前可以定时关闭excel,如何再增加代码实现不开启宏就...
End Function 添加后的效果如图1-2所示 图1-2 给文件添加一个模块并写入代码 2、在任一个工作表标签上单元格右键,执行【插入】命令打开如图1-26所示【插入】对话框,在常用选项卡中选取“MS Excel4.0宏表”项,然后点击确定按钮后便会在当前工作簿中新建一个默认名Macro1的“宏表”。如图1-...

运行宏的时候,其他excel文件就不能进行操作,怎么办
宏操作很繁忙,计算机主要应付宏语句,此时表现出来卡死的状态,不接受键盘、鼠标的操作。系统这样设置,是为了让宏尽快运行结束。如果宏代码运行很耗时,而且前台操作数据变化不会造成灾难,可以在宏语句中增加了DoEvents是EXCEL响应前台操作。或者使用OnTime把任务分片定时调用,看起来宏在后台执行。

相似回答