【问题标题】:How to save an Excel file every, say one minute?如何每隔一分钟保存一个Excel文件?
【发布时间】:2019-07-30 07:07:58
【问题描述】:

是否有一些宏可以做到这一点?

任何帮助将不胜感激 - 我是 VBA 新手。

【问题讨论】:

  • Excel 有一个option 可以每隔 X 分钟自动保存一次。
  • @MatSnow 谢谢你的评论!我不太明白自动保存文件保存在哪里?我在哪里可以找到它?我的意思是我看到原始文件不是每分钟都保存,即使我把 autosave = 1 - 可能 Excel 将副本保存到它的一些内部目录
  • @AlexanderChervov Excel 默认将自动恢复信息保存在%APPDATA%\Microsoft\Excel 中。路径可以在选项中更改。
  • @MatSnow 非常感谢您的建议!有几个问题我无法解决 1)自动保存文件的扩展名为 .xlsb - Python Pandas 无法打开它 2)似乎自动保存确实以我理解的方式工作 - 我每分钟都看不到新文件,它似乎创建了几个文件 (5) 并在第 5 次被保存后,它会重写第一个文件

标签: excel vba


【解决方案1】:

请将此代码输入ThisWorkbook module。您可以通过双击 VBA 项目中的 ThisWorkbook 模块来访问此模块。

Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:01:00"), "Save1"
End Sub

然后将此代码放入standard module。要插入标准模块,请右键单击 VBA 项目==>插入==>模块。然后将代码粘贴到新创建的模块中。

Sub Save1()
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = True

Application.OnTime Now + TimeValue("00:01:00"), "Save1"
End Sub

现在,当您打开工作簿时,它会每分钟自动保存一次。您需要重新打开工作簿才能触发Workboook_Open 事件。

【讨论】:

  • 非常感谢您的友好和快速的答复!如果可能的话,请您评论一下“ThisWorkbook 模块”和“标准模块”的含义,我不确定我是否了解 VBA 基础知识。我认为需要创建按钮并将宏附加到按钮,但您似乎没有使用这种方式。
  • 嗨,请参阅编辑后的答案。你也可以找到关于它的莫拉here:你能接受答案吗?
  • 非常感谢!我会接受你的回答,但我还有一个问题 - 我可以在不重新打开文件的情况下启动模块吗? “开始”按钮之类的东西?因为 - 如果我保存文件,它将是 *.xlsm,但我需要存储的数据流不支持那种文件
  • 您可以将 Save1 宏分配给按钮然后运行它,但您仍需要将文件另存为 .xlsm 或 .xls 或 .xlsb 以便在退出工作簿后保留宏。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 2017-10-01
  • 2017-05-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
相关资源
最近更新 更多