ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: lrest

[下载]禁用宏则退出之改进版.(感谢,老刀)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2004-11-22 16:53 | 显示全部楼层
[em02][em02][em02][em02]收藏,强支持

TA的精华主题

TA的得分主题

发表于 2004-11-22 17:36 | 显示全部楼层

如何将此文件应用到其他excel工作簿中。谢谢!

我采用复制办法行不通。请帮助。

TA的精华主题

TA的得分主题

发表于 2004-11-25 15:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

当在其它excel文件里用vba代码打开带宏表的文档时

以下是引用lrest在2004-11-9 21:41:00的发言: 昨日下载了老刀的关于"禁用宏则退出系统"的第二版程序,相对于第一版改进了退出时强制用户存盘. 但感觉仍是稍有欠缺,程序每次激活sheet时,必须先运行 RUNMACRO 宏,如此宏不慎删除,则整个文件被 锁死,俺今天在封装DLL时就很不幸的遇到了此问题,于是下决心将其改进,还好在微软的网站找到了比较完美的解决方法。可以彻底丢掉 RUNMACRO 宏。 在此,向“老刀” 的大公无私至以诚至的谢意!

当在其它excel文件里用vba代码打开带宏表的文档时,即使该excel文档中有宏表,一样不会运行的,不知下面的代码是否正确:

Sub tt() Dim xlapp As Excel.Application Dim xlwk As Excel.Workbook Dim xlsh As Excel.Worksheet Dim sfullname As String sfullname = "C:\WINDOWS\Desktop\取消宏则关闭工作簿(改进版).xls"'文档所在路径 Set xlapp = GetObject(, "excel.application") 'If Not xlapp.Visible Then xlapp.Visible = Not xlapp.Visible Set xlwk = xlapp.Workbooks.Open(Filename:=sfullname, notify:=True) Set xlsh = Nothing Set xlwk = Nothing Set xlapp = Nothing End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-11-28 15:47 | 显示全部楼层

to itaccountant

取消宏则关闭工作簿(改进版).xls” 这个文件的工作原理是,当激活每个sheet时,程序执行相对应的auto_activate名称,检验是否启用了宏。我们在vba中打开新的文件时,程序并未激活 sheet_activate 过程,所以相对应的宏数表也被忽略。由于我们探讨这个问题的前提是“当用户禁用VBA宏时” 则退出,很显然你所讲的问题并不在其中。(你可在workbook_open过程中写入代码,实现你的要求)

TA的精华主题

TA的得分主题

发表于 2004-11-29 22:34 | 显示全部楼层
楼主的宏表实在是非常好,在特殊情况下很实用。经整理,我试将宏代码简化为7行,效果是一样的。 6e6YyvxA.rar (4.95 KB, 下载次数: 911)
[此贴子已经被作者于2004-11-29 22:35:11编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-12-1 20:32 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2004-12-6 14:48 | 显示全部楼层

请问,“找不到Macro!$a$1" 怎么解决?

各位帮看看,好吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-12-6 19:38 | 显示全部楼层
以下是引用网事如峰在2004-12-6 14:48:00的发言:

请问,“找不到Macro!$a$1" 怎么解决?

各位帮看看,好吗

你的宏表 “Macro!” 必须存在。

提醒你一下:Macro! 与 Macro1 是不同滴.

[此贴子已经被作者于2004-12-6 21:03:33编辑过]

TA的精华主题

TA的得分主题

发表于 2004-12-6 20:56 | 显示全部楼层

就保密而言,用处不大!

[此贴子已经被作者于2004-12-6 21:01:33编辑过]

TA的精华主题

TA的得分主题

发表于 2004-12-6 23:31 | 显示全部楼层

很有用了,,要是别人不启动宏的时候,,最起码那样你就死定了

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-17 00:18 , Processed in 0.040374 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表