【发布时间】:2020-07-02 16:46:13
【问题描述】:
场景
我有一个使用以下代码以只读方式打开的文件。
Set wbRead = Workbooks.Open(FilePath, ReadOnly:=True)
这里的 FilePath 是一个变量,它告诉该文件的文件位置
问题
我面临的问题是,如果用户第二次运行宏而不关闭这个已经打开的只读文件,由于打开了类似的文件名,它会给出运行时错误
我需要什么
有什么方法可以让excel以只读方式打开文件,但打开的文件显示一些随机名称? 例如:实际文件名是A。但是当excel以只读方式打开时,它以A123打开? 123 就像一个随机数。
【问题讨论】:
-
没有。可以做到这一点的唯一方法是在打开文件之前实际重命名文件,您将无法这样做,因为 Excel 已将其打开。但无论如何,你问错了问题。您的问题应该是如何在文件仍处于打开状态时阻止我的用户运行我的宏两次?
-
您真的希望他们能够两次打开同一个文件吗?
-
@KenWhite 用户需要根据需要多次运行宏。目前,他们必须将只读文件保存到某个地方并在他们不喜欢的第二次运行之前将其关闭。所以这个问题是正确的。只是,如果有办法做到这一点。
-
@TimWilliams 是的。不止两次。他们想要多少次都可以
-
将文件复制到临时文件夹下,随机命名,并打开副本。