gpt4 book ai didi

vba - 检查事件的互联网连接

转载 作者:行者123 更新时间:2023-12-04 08:58:39 27 4
gpt4 key购买 nike

编写了一个小应用程序,可以访问一堆搜索网站并将结果放在一个 word 文档中,该文档每天运行数百次。

它将单个搜索结果保存在多个本地文件夹中,因此下次搜索这些词时,它会在本地抓取它们,而不是再次加载网站。

这很好用 - 即使它不快。人们印象深刻,因为直到几周前,他们还是通过手动加载六个不同的搜索网站,进行搜索,然后将结果复制并粘贴到 Word 文档中。

但是,我们办公室的网络不可靠,最近半天就断线了。这意味着大约 400 个错误搜索已保存在本地文件夹中,并插入到最终文档中。

当一个人在搜索时,他们可以判断互联网是否坏了,然后他们会进行搜索。显然,虽然,这个应用程序无法分辨,而且因为我没有使用 API 或任何东西,而且因为我仅限于使用 VBA 环境(我什至不允许使用 MZ 工具),我需要找到一些方法来在继续程序流程之前检查互联网是否正常工作,不要依赖太多引用资料,最好不要对短语“404 页面未找到”进行屏幕抓取。

我对 VB 不是很熟悉,VBA 在很多方面毁了我,所以可能有一些简单的方法可以做到这一点,这就是我在这里问的原因。

感谢任何帮助。

最佳答案

显然,你的问题有很多层次。您应该从定义“连接到 Internet”开始,然后继续开发回退策略,包括在失败时不写入无效文件。

至于“我是否已连接”的问题,您可以尝试使用 Win32 API:

Private Declare Function InternetGetConnectedState Lib "wininet.dll" _
(ByRef dwflags As Long, ByVal dwReserved As Long ) As Long

Public Function GetInternetConnectedState() As Boolean
GetInternetConnectedState = InternetGetConnectedState(0&,0&)
End Function

尽管取决于您的网络设置(代理/NAT/防火墙限制等),Windows 可能对此有不同的看法。

尝试获取您感兴趣的页面,检查 HTTP header 中的返回状态(网关超时,404,无论您希望在“不起作用时”发生什么)也可能是一种方法。

关于vba - 检查事件的互联网连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/551613/

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