3个回答
展开全部
如果不启用宏,自动关闭工作簿是无法办到的。因为不启用宏,任何代码都不会运行,怎么会自动关闭工作簿呢。
通常的做法是,在关闭工作簿事件中将所有有用的工作表深度隐藏,显示一个没有的工作表,可在其中写明必须启用宏之类的提示信息。在工作簿打开事件中,将有用工作表显示,无用工作表隐藏。这样当不启用宏打开工作簿将没有任何有用内容,只能看见一个无用工作表中的提示信息。打开时启用宏才能看到和使用正常的工作表。
说明:深度隐藏的工作表是无法人工显示出来的,只能由代码显示出来。
通常的做法是,在关闭工作簿事件中将所有有用的工作表深度隐藏,显示一个没有的工作表,可在其中写明必须启用宏之类的提示信息。在工作簿打开事件中,将有用工作表显示,无用工作表隐藏。这样当不启用宏打开工作簿将没有任何有用内容,只能看见一个无用工作表中的提示信息。打开时启用宏才能看到和使用正常的工作表。
说明:深度隐藏的工作表是无法人工显示出来的,只能由代码显示出来。
追问
可能真不能做到,请问,如何深度隐藏的工作表
追答
下载附件以启用宏和不启用宏两种方式打开试试效果。
展开全部
前一个可以,
Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:01:00"), "Close"
End Sub
Private Sub Close()
Thisworkbook.Close
End Sub
--------------------------
后一个是不可能的。
因为如果没有启用宏,那么你所有的代码都不会运行,又如何判断呢。相反,
如果代码能运行说明一定是启用了宏,且安全级别低。
因为你想用代码关闭文档,那么宏是必须启用的,否则,代码是不运行的。
这是件很矛盾的事。终归不可能解决!
Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:01:00"), "Close"
End Sub
Private Sub Close()
Thisworkbook.Close
End Sub
--------------------------
后一个是不可能的。
因为如果没有启用宏,那么你所有的代码都不会运行,又如何判断呢。相反,
如果代码能运行说明一定是启用了宏,且安全级别低。
因为你想用代码关闭文档,那么宏是必须启用的,否则,代码是不运行的。
这是件很矛盾的事。终归不可能解决!
更多追问追答
追问
我不相信,不可以,不过可能有点难度,2003版就可以,
追答
2003版也只是会通过环境难测到有宏代码,才提醒用户是否信任和启用它而已。
如果真想解决这个问题,建议去问问木马专家。
有些木马还真能做这事,不过恐怕会被杀了。除非没有反木马程序的计算机。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
记忆里可以修改模板,貌似只对某些版本有效就是了。
其他的给你个方法:
将你的所有主要功能(包括基本表格的建立,格式的初始化,宏代码的生成--宏可以给模块添加宏代码哦^_^)用VB做成dll
在excel宏里面对dll进行调用并实现功能,
接下来你可想而之了,如果要使用你的功能,必须开启宏,否则连你的表格都看不见,包括你的基本代码,如果开启宏了,那么你就好控制了,^_^
具体步骤自己开发,希望采纳!
追问
你那个DLL封装吧,
看来要放弃了,
完全不懂
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询