VBA在2016年没有像2013年那样工作:建议的文件名(InitialFileName)没有显示出来

时间:2017-12-14 21:59:04

标签: vba excel-vba excel

我有一个导出Excel标签的代码,并将其保存为带有预设文件名的新文件。用户可以选择在保存之前查看文件名。这就是我一直在使用的:

InitialName = SaveString & UniqueString
fileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName)
If fileSaveName <> False Then
    Export.SaveAs (fileSavename)
End If

SaveString是保存文件夹,UniqueString是特定的文件名,每月更改一次。用户单击“导出”,选项卡已准备就绪,“另存为”文件夹将弹出正确的文件夹,其中包含建议的文件名。只要用户点击&#34;保存,&#34;然后导出的选项卡将保存在带有UniqueString名称的SaveString文件夹中(.xlsx已包含在UniqueString中)。

自升级到Office 2016以来,不再显示UniqueString建议的文件名。 “另存为”弹出窗口仍会在SaveString文件夹中打开,但没有建议的文件名。如果用户不小心手动将.xlsx添加到文件名的末尾,则文件类型是不可用的&#34;文件。&#34;

我已经在虚拟设置中打开了Excel 2013并且并排运行代码,并且它在旧版本中完美运行。有没有人知道为什么会发生这种变化,以及如何纠正它?

1 个答案:

答案 0 :(得分:0)

现在看来您需要包含一个与您提供的初始名称相匹配的文件过滤器,因此以下内容可能会有效:

fileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, _
                                             FileFilter:="Excel Files (*.xlsx),*.xlsx")