gpt4 book ai didi

vba - EXCEL - 在新选项卡中打开所有链接

转载 作者:行者123 更新时间:2023-12-04 21:32:08 25 4
gpt4 key购买 nike

我有一个包含许多链接的 excel 表。
如何使用默认浏览器在新选项卡中一次打​​开它们?

最佳答案

像这样?包含的检查 url 是否有效(基本检查)。此处的优点是您可以适应有关来自 URL 的响应的日志信息。

Option Explicit

Sub TEST()

Dim h As Hyperlink

For Each h In ActiveSheet.Hyperlinks

If UrlOK(h.Address) Then h.Follow

Next h

End Sub



Public Function UrlOK(ByVal url As String) As Boolean

Dim request As Object
Dim respCode As Long

On Error Resume Next
Set request = CreateObject("WinHttp.WinHttpRequest.5.1")

With request
.Open "GET", url, False
.Send
respCode = .Status
End With

If respCode = 200 Then UrlOK = True

On Error GoTo 0

End Function

编辑:感谢@Omegastripes 的注意

1) 如果您使用 MSXML2.XMLHTTP over WinHttp.WinHttpRequest.5. 1你会得到更可靠的结果

好处包括(除其他外):

A) 打开 URL 的简化代码。

B) 单独的 session 不会相互影响。

C) 保护模式 IE 支持

D) 凭证缓存

2) 使用 HEAD超过 GET ,在请求中,减少网络流量

HEAD请求时,服务器将只返回资源的 header ,而不是资源本身。

因此,您可以使用修改后的更高效的函数,如下所示:
Public Function UrlOK(ByVal url As String) As Boolean

Dim request As Object
Dim respCode As Long

On Error Resume Next
Set request = CreateObject("MSXML2.XMLHTTP")

With request
.Open "HEAD", url, False
.Send
respCode = .Status
End With

If respCode = 200 Then UrlOK = True

On Error GoTo 0

End Function

标准模块中的代码图像以及放置光标以执行测试子的位置。

Code and cursor placement for execution with F5

关于vba - EXCEL - 在新选项卡中打开所有链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49587897/

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