小编goo*_*ogy的帖子

如何在excel VBA中检查或取消MULTIPLE挂起的application.ontime事件?

我正在使用Application.Ontime事件从单元格中提取时间字段,并安排子程序在此时运行.我的Application.Ontime事件在Workbook_BeforeSave事件上运行.因此,如果用户(更改所需时间+保存工作簿)多次,则会创建多个Application.Ontime事件.从理论上讲,我可以使用唯一的时间变量跟踪每个事件..但有没有办法检查/解析/取消待处理事件?

Private Sub Workbook_BeforeSave
    SendTime = Sheets("Email").Range("B9")
    Application.OnTime SendTime, "SendEmail"
End Sub

Private Sub Workbook_BeforeClose
    Application.OnTime SendTime, "SendEmail", , False
End Sub
Run Code Online (Sandbox Code Playgroud)

因此,如果我:
将B9更改为12:01,将工作簿
更改为B9保存到12:03,将工作簿
更改B9保存到12:05,将工作簿
更改B9保存到12:07,保存工作簿

我最终解雇了多个事件.我只想要一场比赛(最近一场比赛)

如何在Workbook_BeforeClose事件中取消所有挂起事件(或至少枚举它们)?

excel ontime vba

8
推荐指数
1
解决办法
1万
查看次数

最终追溯 .gitignore(如何让 Git 完全/追溯忘记现在 .gitignore 中的文件)

前言

这个问题试图消除关于追溯应用 .gitignore 的混淆,而不仅仅是现在/未来。1

基本原理

我一直在寻找一种方法来追溯强制执行我当前的 .gitignore ,就像我在第一次提交中创建了 .gitignore 一样

我正在寻求的解决方案:

  • 不会需要手动指定文件
  • 要求提交
  • 将追溯适用于所有分支的所有提交
  • 忽略工作目录中指定的 .gitignore 文件,而不是删除它们(就像最初提交的根提交的 .gitignore 文件一样)
  • 将使用 git,而不是 BFG
  • 将适用于 .gitignore 异常,例如:
 *.ext
 !*special.ext
Run Code Online (Sandbox Code Playgroud)

不是解决方案

git rm --cached *.ext
git commit
Run Code Online (Sandbox Code Playgroud)

这需要 1. 手动指定文件和 2. 附加提交,这将导致在其他开发人员拉取时删除新忽略的文件。(它实际上只是一个git rm- 这是从 git 跟踪中删除- 但它会将文件单独留在本地(您的)工作目录中。 之后其他git pull将收到文件删除提交)

git filter-branch --index-filter 'git rm --cached *.ext' …
Run Code Online (Sandbox Code Playgroud)

git gitignore

8
推荐指数
2
解决办法
3439
查看次数

标签 统计

excel ×1

git ×1

gitignore ×1

ontime ×1

vba ×1