EXCEL高手如何用VBA宏实现自动关闭

主要做第2,1,用VBA实现10秒后定时关闭2,禁用宏也自动关闭工作薄... 主要做第2,

1,用VBA实现10秒后定时关闭

2,禁用宏也自动关闭工作薄
展开
 我来答
姓王的wy451

推荐于2016-10-20 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8909万
展开全部
如果不启用宏,自动关闭工作簿是无法办到的。因为不启用宏,任何代码都不会运行,怎么会自动关闭工作簿呢。
通常的做法是,在关闭工作簿事件中将所有有用的工作表深度隐藏,显示一个没有的工作表,可在其中写明必须启用宏之类的提示信息。在工作簿打开事件中,将有用工作表显示,无用工作表隐藏。这样当不启用宏打开工作簿将没有任何有用内容,只能看见一个无用工作表中的提示信息。打开时启用宏才能看到和使用正常的工作表。
说明:深度隐藏的工作表是无法人工显示出来的,只能由代码显示出来。
追问
可能真不能做到,请问,如何深度隐藏的工作表
追答

下载附件以启用宏和不启用宏两种方式打开试试效果。

tlxwd
2015-06-16 · TA获得超过1148个赞
知道大有可为答主
回答量:1592
采纳率:66%
帮助的人:704万
展开全部
前一个可以,
Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:01:00"), "Close"
End Sub

Private Sub Close()
Thisworkbook.Close
End Sub
--------------------------
后一个是不可能的。
因为如果没有启用宏,那么你所有的代码都不会运行,又如何判断呢。相反,
如果代码能运行说明一定是启用了宏,且安全级别低。
因为你想用代码关闭文档,那么宏是必须启用的,否则,代码是不运行的。
这是件很矛盾的事。终归不可能解决!
更多追问追答
追问
我不相信,不可以,不过可能有点难度,2003版就可以,
追答
2003版也只是会通过环境难测到有宏代码,才提醒用户是否信任和启用它而已。
如果真想解决这个问题,建议去问问木马专家。
有些木马还真能做这事,不过恐怕会被杀了。除非没有反木马程序的计算机。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzhilling
2015-06-16 · TA获得超过2700个赞
知道大有可为答主
回答量:3255
采纳率:45%
帮助的人:1120万
展开全部

记忆里可以修改模板,貌似只对某些版本有效就是了。

其他的给你个方法:

  1. 将你的所有主要功能(包括基本表格的建立,格式的初始化,宏代码的生成--宏可以给模块添加宏代码哦^_^)用VB做成dll

  2. 在excel宏里面对dll进行调用并实现功能,

  3. 接下来你可想而之了,如果要使用你的功能,必须开启宏,否则连你的表格都看不见,包括你的基本代码,如果开启宏了,那么你就好控制了,^_^ 


具体步骤自己开发,希望采纳!

追问
你那个DLL封装吧,
看来要放弃了,
完全不懂
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式