ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求帮忙修正我写的一个程序

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-2-23 17:26 | 显示全部楼层
参考
  If Workbooks.Count > 1 Then   
        ActiveWorkbook.Close SaveChanges:=False    '
SaveChanges=False
    End If        If Workbooks.Count = 1 Then    '
        Application.Quit    '
        ActiveWorkbook.Close SaveChanges:=False    '
SaveChanges=False
    End If    '

TA的精华主题

TA的得分主题

发表于 2011-2-23 19:30 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-2-24 13:51 | 显示全部楼层
原帖由 brdsz 于 2011-2-23 17:20 发表
没有加之前无法单独关闭本工作簿,加进去后可以关闭本工作簿,但它连整个其他excel工作簿也关闭了。



在网上找的,参考了一下,可以解决关闭本工作薄的问题:

Application.ontime now是取消不了的
一般最好这样
dim nextRun as date
.
.
nextRun=now+180   ‘3分钟后  假设啦

application.ontime nextRun, “theSub”


然后一定记得要
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Application.OnTime nextRun, "theSub", Schedule:=False
End Sub

[ 本帖最后由 baby5200 于 2011-2-24 14:26 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-2-24 13:53 | 显示全部楼层

以下是每5分钟自动保存表格的代码,很有参考意义!!!

Public RunWhen As Double
Public Const cRunIntervalSeconds = 300 ' 5分钟,300秒
Public Const cRunWhat = "TheSub"
Sub StartTimer()
    RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
    Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
        schedule:=True
End Sub
Sub TheSub()
ThisWorkbook.Save
    StartTimer
End Sub

Sub StopTimer()
    On Error Resume Next
    Application.OnTime earliesttime:=RunWhen, _
        procedure:=cRunWhat, schedule:=False
End Sub

Sub Auto_close()
    On Error Resume Next
    Application.OnTime earliesttime:=RunWhen, _
        procedure:=cRunWhat, schedule:=False
End Sub

Sub Auto_Open()
StartTimer
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-2-24 14:25 | 显示全部楼层

改好了,分享一下,有兴趣的朋友拿去测试一下,看还有没有什么问题~~

哈哈,3.00版了:
1 修改了 运行 其它程序时 无法自己关闭的BUG;  ’由 brdsz 完成
2 改进程序,以前是每10分钟提醒一次关闭表格,改进后为对表格无操作10分钟以后提示关闭表格; ’由 brdsz 完成
3 修改了 表格打开后,无法手动关闭的BUG。 ’由 baby5200 完成

有兴趣的朋友拿去测试哈,,看还有没有其它问题。。

[ 本帖最后由 baby5200 于 2011-2-24 14:27 编辑 ]

自动关闭3.00版.rar

12.91 KB, 下载次数: 225

TA的精华主题

TA的得分主题

发表于 2011-3-6 12:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习了,谢放邮

TA的精华主题

TA的得分主题

发表于 2011-3-7 11:28 | 显示全部楼层

回复 25楼 baby5200 的帖子

非常好。但还有一个很大的问题,我测试了一下,如果我在表格中,输入了内容,回出现附件所示提示框。如果没有人去进行确认,无法自动关闭。

[ 本帖最后由 brdsz 于 2011-3-7 11:38 编辑 ]
Snap1.jpg

TA的精华主题

TA的得分主题

发表于 2011-3-7 12:18 | 显示全部楼层

回复 25楼 baby5200 的帖子

隐私问题警告在EH搜了一下,已解决,两个方法:
1、在选项---安全性---不要勾选个人信息
2、在保存语句之前加:ActiveWorkbook.RemovePersonalInformation = False

但是又有一个问题:在提示框出来之前的10秒钟开始,我的电脑EXCEL cpu占用了50%多的资源,而且在这10秒钟之中,你无法编辑这个工作簿,不知何故?

TA的精华主题

TA的得分主题

发表于 2016-7-29 02:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我从头学到尾,虽然还看不太懂但是很刺激,期待你们继续研究啊,把程序修复好做出来分享~!

TA的精华主题

TA的得分主题

发表于 2016-9-9 11:25 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-11 19:59 , Processed in 0.023630 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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