保存 文件 > 另存为 > 浏览 > 保存 文件 > 另存为 > 保存 其他信息: 如 Workbook_BeforeS-6ren">
gpt4 book ai didi

excel - 在保存之前如何从 "Save As"输入框(而不是文件对话框)获取文件名?

转载 作者:行者123 更新时间:2023-12-02 11:33:22 25 4
gpt4 key购买 nike

我试图在保存文件名之前对其进行一些验证。

这是我的三个文件保存场景:

  1. 文件 > 保存
  2. 文件 > 另存为 > 浏览 > 保存
  3. 文件 > 另存为 > 保存

Excel's "Save As" menu with input box for file name

其他信息:

Workbook_BeforeSave 中所定义事件时,SaveAsUI 参数将指示是否需要对话框来保存更改。

✓ 在场景 1 中,SaveAsUI=False,因此我从 ThisWorkbook.Name 获取文件名

✓ 在场景 2 中,SaveAsUI=True,因此我强制打开一个对话框并使用 GetSaveAsFilename 方法获取文件名

✗ 在场景 3 中,SaveAsUI=True,但实际上不需要中间对话框!文件会立即保存为在输入框中输入的名称。

...我对此很着迷,这很荒谬,因为我可以覆盖场景 3 并强制进行对话,但我很好奇。有什么想法吗?

最佳答案

我写这个作为答案,因为评论字段太小了。

我在注册表中找到了提到的文件引用:

HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\User MRU\AD_2B763A186A5179F1E2C2819B76BF6FDEF3F399938D48925BE3381441F2190369\File MRU

您需要一个查找功能,要么打开最近的文件列表,要么找到读取此类注册表项的方法。一种方法(但相当复杂),Shell 命令,如您在此处看到的(命令行命令):

reg query "HKCU\Software\Microsoft\Office\16.0\Excel\User MRU" /s

启动此命令并解析结果可能会对您有所帮助。

关于excel - 在保存之前如何从 "Save As"输入框(而不是文件对话框)获取文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55293696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com