VBA 安全通知 - "Data connections have been blocked"

VBA Security Notices - "Data connections have been blocked"

我正在尝试确定 "Microsoft Excel Security Notice" 与 .xlam 文件关联的原因。特别是,我很好奇 VBA 代码中是否存在导致此类安全通知的某些属性或方法?我们有另一个作为加载项安装的 .xlam,它从未导致类似的通知,因此让我相信有某种 属性 或正在使用的方法导致了问题。我已经注释掉了很多行,看看我是否可以自己隔离违规者,但到目前为止还没有成功。

代码示例被注释掉;

pathToCSV = ActiveWorkbook.Path
HostName = ActiveWorkbook.Name
Set Globe = CreateObject("Scripting.FileSystemObject")
Set place = Globe.GetFolder(pathToCSV)
Set Destination = Application.Workbooks.Add

如有任何想法,我们将不胜感激。

Excel 加载项只是一种特殊的 Workbook 项目,在 Excel 启动时加载。作为一个 Workbook 对象,它有一个 Connections 集合。

我不知道您的代码是否需要 ThisWorkbook 中的连接,但加载具有数据连接的 Excel 加载项似乎是一个安全问题 - 所以如果您 确实需要它们,考虑研究替代方法。

要删除它们,请在直接窗格 (Ctrl+G) 中工作 - 确保加载项工作簿项目在 VBA 编辑器中处于活动状态。

for i = 1 to thisworkbook.connections.count : thisworkbook.connections(1).delete : next

这应该删除所有这些。保存加载项项目,关闭 Excel,重新打开,看看是否仍然收到警告。

@Mathieu Guindon

我认为代码应该是

for i = 1 to thisworkbook.connections.count : thisworkbook.connections(i).delete : next

没有

for i = 1 to thisworkbook.connections.count : thisworkbook.connections(1).delete : next

你同意吗?