Excel 宏错误提示另存为对话框,文件名奇怪

Excel 宏错误提示另存为对话框,文件名奇怪

我为朋友制作了如下代码:

Sub SaveToMainData()
Application.DisplayAlerts = False
Application.ScreenUpdating = False

pfn = ThisWorkbook.Path & "\Backup\MainData.xlsb"

With ThisWorkbook.Sheets("DATA") 
    .Visible = True
    .Copy
    .Visible = False
End With

    With ActiveWorkbook
        .SaveAs Filename:=pfn, FileFormat:=xlExcel12
        .Close savechanges:=False
        MsgBox "Data Saved"
    End With

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

上面的子程序是从其他子程序调用的,用于输入到工作表数据,然后它调用上面的子程序将工作表数据复制为新的工作簿,然后将这个新工作簿保存为 MainData.xlsb。

我已经在家里的电脑上测试了很多次,没有遇到任何问题。上面的子程序总是成功运行,没有发生任何奇怪的事情。

但是,当我的朋友在办公室使用工作簿(并运行调用上述子程序的子程序)时,有时会发生有趣的事情。 出现“另存为”对话框,其中包含如下所示的奇怪文件名:
在此处输入图片描述

当我问我的朋友之前他做了什么时,他说他只是像往常一样使用工作簿。然后有时在他运行调用上述宏的子程序后,会出现如上所示的对话框。所以,他说他只是保存它然后直接关闭工作簿。他从不记得消息框“数据已保存”是否有机会显示。

我无法找到一种方法/一个过程来故意做一些事情以便在调用上面的子宏之后出现那种对话框。

我已经在互联网上搜索了与我的问题标题类似的关键字,但我找不到答案,可能是因为我没有用英文输入正确的关键字。

所以我的问题是,有人能告诉我在什么样的情况下,“另存为”对话框中已经填充了奇怪的文件名,并显示如上图所示的内容?

任何回复都将不胜感激。
提前谢谢您。


按照@harrymc 的建议后,我仍然无法复制导致“另存为”对话框出现与上图类似的情况。

Excel 似乎确实捕获了“.SaveAs Filename:=pfn”这一行,文件格式:=xlExcel12“因此:目录是正确的,对话框中的文件另存类型是“Excel二进制工作簿”,没有“(* .xlsb)”扩展名...但不知何故,Excel将文件名更改为没有扩展名的奇怪名称(例如:3E371C00,CB60EB00,78850B00等)。

我也尝试过重命名这个奇怪的名称,让它变成类似“3E371C00.xlsb”的名称。然后我就可以用 Excel App 打开它了。

相关内容