gpt4 book ai didi

Excel VBA : Catching an external data connection that won't refresh?

转载 作者:行者123 更新时间:2023-12-04 22:06:34 25 4
gpt4 key购买 nike

大家好,来自德国的问候!

在搜索了很长一段时间后,我束手无策,希望有人能帮助我。

我尝试尽可能清晰和简短地描述我的问题:

我正在构建一个 MS Excel 2010 工作簿,其中包括多个 (90+) 到 SharePoint 2013 列表和库的外部连接。

这些连接由 SharePoint 的集成“导出到 Excel”功能(在列表/库功能区中)创建,然后将连接文件导出到另一个 SP 场。
(第一个“来源”-SP-Farm来自客户,第二个是我们自己的内网)

我必须每天通过自动宏刷新这些连接一次。

计时器作业将在晚上打开工作簿并执行“RefreshAllConnections”-宏,
这不仅仅是刷新(例如写入刷新日期和时间)。
因此,发生这种情况时没有用户在场。

这就是我的问题所在:

有时,其中一些连接无法刷新。
Excel 显示一条警告信息(从德语翻译):

“以下数据范围无法更新:owssvr (...)
你想继续更新吗?
(确定)/(取消)

到目前为止我发现了什么:

1)问题总是图书馆

2)哪个库不会更新以及何时更新是相当随机的

3)问题在一段时间后自行解决(这就是为什么我猜这与其他人正在使用/修改的库有关)

4)库拒绝更新时,再次使用“导出到Excel”功能会在创建新工作表并填写数据后提示错误

现在这里是赔率:

1)警报始终使用我已经更改的“旧/原始”连接名称。

2) 当我按 OK 时,宏只会在下一行继续,不会抛出任何错误

3)如果我按下取消,则会发生错误 1004(我至少可以捕捉到,这样就可以了)。

这是问题:

由于这是在晚上自动发生的,因此没有用户坐在附近来回答这些警报。所以:

1)如果弹出这些警报,宏必须自动用“取消”回答这些警报(我不知道该怎么做!)

2)我通过“Application.displayAlerts = false”禁用它们

但是:这将自动使用默认答案“确定”来回答他们。
然而,这并没有引发我可以捕捉到的错误,所以我的宏现在不会更新是否真的有效。

就是这样。对不起,很长的帖子,感谢您的阅读。

希望你们中的某个人有一个想法。

编辑:

难道是由 SharePoint 自动生成的连接是问题所在?

(如何)我可以自己 build 它们吗?

最佳答案

出色地。我自己解决了。

答案非常简单:

我现在不是刷新连接,而是通过“ActiveSheet.ListObjects(1).QueryTable.Refresh”刷新相应的 QueryTable

如果 Connection 没有响应,则会引发一个错误,我现在可以正确捕获该错误。

嗯,终于!

关于Excel VBA : Catching an external data connection that won't refresh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20120587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com