具有外部数据连接的另存为模板

问题描述 投票:0回答:2

我已经寻找这个问题的答案近一个小时了,但没有运气。我有一个启用 Excel 宏的模板,它将模板保存为新名称(仍为 .xltm),但不幸的是,这个新文件已损坏,因为我的模板包含外部数据连接,并且我在保存时使用

Application.DisplayAlerts = False
绕过任何提示。我不希望用户必须处理提示,但在保存具有外部数据连接的模板文件时,会出现提示“此工作簿包含外部数据。您是否希望 Microsoft Excel 在保存模板之前清除数据,然后再保存”每次打开模板时都会自动刷新数据?”带有“是”、“否”和“取消”按钮。我需要的是选择“否”,这样用户就不会看到此提示,并且保存的模板没有该功能。这可能吗?

注意:如果我将

Application.DisplayAlerts
保留为 False,则当打开新模板文件时,会收到一条错误消息,指出文件已损坏,因为外部数据提示从未得到解决。根本不是我想看到的。

代码示例:


Application.DisplayAlerts = False

Dim strSaveTool as String

strSaveTool = [TL_Loc] & "\New Template Name.xltm" 'where [TL_Loc] holds the directory path

ThisWorkbook.SaveAs Filename:=strSaveTool, FileFormat:=53

excel vba save-as excel-external-data
2个回答
0
投票

@PEH 我正在使用 sendKeys“N”...使用您的代码在引发提示的行之前添加 SendKeys“N”。 DisplayAlerts 需要打开,否则提示会显示“是”。

要弄清楚在相关提示上发送实验的键..对于“此工作簿包含外部数据等”提示...接受键入 N 而不是单击“否”

Application.DisplayAlerts = TRUE ' False

将 strSaveTool 变暗为字符串 strSaveTool = [TL_Loc] & "\New Template Name.xltm" '其中 [TL_Loc] 保存目录路径

发送键“N”
ThisWorkbook.SaveAs 文件名:=strSaveTool,文件格式:=53


0
投票

我是 stackoverflow 的新手,所以我无法投票...但我遇到了与 @PEH 完全相同的问题。 我使用了 @Nej Sanerkin 的 SendKeys 技巧。这是我能找到的唯一解决方案。所以谢谢你!

© www.soinside.com 2019 - 2024. All rights reserved.