Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2053|回复: 7

[已解决]请教前辈 合并代码

[复制链接]
发表于 2012-12-27 14:22 | 显示全部楼层 |阅读模式
新手请教前辈帮助合并以下两段代码,谢谢了!

段一:
Private Sub Workbook_Open()
    Me.IsAddin = False
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Me.IsAddin = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Me.IsAddin = True
End Sub

段二:
Private Sub Workbook_Open()
    If Date <= #12/28/2012# Then Exit Sub
    MsgBox "文件已过期。"
    With ThisWorkbook
        .Saved = True
        .ChangeFileAccess xlReadOnly
        Kill .FullName
        .Close False
    End With
End Sub
最佳答案
2012-12-27 14:49
  1. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  2.     Me.IsAddin = True
  3. End Sub
  4. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  5.     Me.IsAddin = True
  6. End Sub

  7. Private Sub Workbook_Open()
  8.     If Date < #12/28/2012# Then Exit Sub
  9.     Me.IsAddin = False
  10.     MsgBox "文件已过期。"
  11.     Application.DisplayAlerts = False
  12.     With ThisWorkbook
  13.         .Saved = True
  14.         .ChangeFileAccess xlReadOnly
  15.         Kill .FullName
  16.         .Close False
  17.     End With
  18.     Application.DisplayAlerts = True
  19.     Application.Quit
  20. End Sub
复制代码
测试前最好先备份一次。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-12-27 14:32 | 显示全部楼层
回复

使用道具 举报

发表于 2012-12-27 14:34 | 显示全部楼层
如果指定工作簿作为加载宏运行,则该属性值为 True。Boolean 类型,可读写。
语法

表达式.IsAddin

表达式   一个代表 Workbook 对象的变量。

说明


如果将该属性设置为 True,则指定工作簿将具有下列特征:

如果打开该工作簿时发生了更改,将不提示保存该工作簿。
工作簿窗口不可见。
该工作簿中的任何宏都不在“宏”对话框中显示(指向“工具”菜单中的“宏”项,并单击“宏”命令可显示该对话框)。
尽管该工作簿中的宏在“宏”对话框中不可见,仍然可以通过“宏”对话框运行该工作簿中的宏。另外,宏名无须使用工作簿名称进行标识。
在打开工作簿时按住 Shift 键不起作用。
回复

使用道具 举报

发表于 2012-12-27 14:49 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  2.     Me.IsAddin = True
  3. End Sub
  4. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  5.     Me.IsAddin = True
  6. End Sub

  7. Private Sub Workbook_Open()
  8.     If Date < #12/28/2012# Then Exit Sub
  9.     Me.IsAddin = False
  10.     MsgBox "文件已过期。"
  11.     Application.DisplayAlerts = False
  12.     With ThisWorkbook
  13.         .Saved = True
  14.         .ChangeFileAccess xlReadOnly
  15.         Kill .FullName
  16.         .Close False
  17.     End With
  18.     Application.DisplayAlerts = True
  19.     Application.Quit
  20. End Sub
复制代码
测试前最好先备份一次。
回复

使用道具 举报

 楼主| 发表于 2012-12-27 16:10 | 显示全部楼层
hwc2ycy 发表于 2012-12-27 14:49
测试前最好先备份一次。

谢谢您!可是我在EXCEL2003上测试了许久,不管启用宏、还是禁用宏,都是无法显示工作表的哦?我是希望通过它实现指定日期删除的。
回复

使用道具 举报

发表于 2012-12-27 16:55 | 显示全部楼层
弹出了过期的提示没有?
回复

使用道具 举报

 楼主| 发表于 2012-12-27 23:56 | 显示全部楼层
本帖最后由 咸嘉湖畔 于 2012-12-28 09:21 编辑
hwc2ycy 发表于 2012-12-27 16:55
弹出了过期的提示没有?


没有。禁用和启用无差别,即不显示工作表也不作任何提示——而且测试设定的到期时间为28日。
28日再次测试,结果是未到期前不显示也不提示,到期打开却执行宏,提示并自删除。这可鸡肋了,还请前辈赐教。
回复

使用道具 举报

 楼主| 发表于 2012-12-28 10:55 | 显示全部楼层
本帖最后由 咸嘉湖畔 于 2012-12-28 10:59 编辑

问题已解决!知道为何各位大侠不屑于指教晚辈了,惭愧!谢谢热心的hwc2ycy班长,按您说的,直接合并两个OPEN即可。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 07:50 , Processed in 0.306674 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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