url 检查器 VBA,重定向时显示重定向的 url

2023-11-29

我对 EXCEL VBA 很陌生,我有点困于寻找一种方法来创建一个宏来显示 url 是否仍然处于活动状态(200 ok), 或者可能会被重定向,如果是这样,我想知道到什么 URL。当它根本不起作用时,则返回正确的代码以及 URL 不起作用的原因。

因此,目前我有一个实际有效的脚本,但它不会返回 url 重定向到的 url。 仅当 url 仍处于活动状态或原始 url 已重定向到的 url 仍处于活动状态时,它才会返回 (200 OK)。这样我就知道哪些 URL 无效或被重定向到无效 URL。

但我想更进一步。 由于我现在要检查的 URL 在“A”列中,而结果在“B”列中返回,因此每次我都想在 C 列中看到我被重定向到的 URL URL 已重定向。

我确实在网上找到了一些可以完成这项工作的函数,但由于某种原因我无法将它们放入我的 SUB 中。就像我之前提到的,这对我来说都是新的。

这就是我现在所拥有的:

Sub CheckHyperlinks()

    Dim oColumn As Range
    Set oColumn = GetColumn() '' replace this with code to get the relevant column

    Dim oCell As Range
    For Each oCell In oColumn.Cells

        If oCell.Hyperlinks.Count > 0 Then

            Dim oHyperlink As Hyperlink
            Set oHyperlink = oCell.Hyperlinks(1) '' I assume only 1 hyperlink per cell

            Dim strResult As String
            strResult = GetResult(oHyperlink.Address)

            oCell.Offset(0, 1).Value = strResult


        End If

    Next oCell


End Sub

Private Function GetResult(ByVal strUrl As String) As String

    On Error GoTo ErrorHandler

    Dim oHttp As New MSXML2.ServerXMLHTTP30

    oHttp.Open "HEAD", strUrl, False
    oHttp.send

    GetResult = oHttp.Status & " " & oHttp.statusText

    Exit Function

ErrorHandler:
    GetResult = "Error: " & Err.Description

End Function

我希望你们中的一位可以帮助我。


最好使用 WinHttp COM 对象。这将使您“禁用”重定向处理。阅读此论坛帖子。 您需要引用的组件是微软WinHTTP服务.

Microsoft WinHTTP Services

Public Function GetResult(ByVal strUrl As String, Optional ByRef isRedirect As Boolean, Optional ByRef target As String) As String
    Dim oHttp As New WinHttp.WinHttpRequest

    oHttp.Option(WinHttpRequestOption_EnableRedirects) = False
    oHttp.Open "HEAD", strUrl, False
    oHttp.send
    GetResult = oHttp.Status & " " & oHttp.statusText
    If oHttp.Status = 301 Or oHttp.Status = 302 Then
        isRedirect = True
        target = oHttp.getResponseHeader("Location")
    Else
        isRedirect = False
        target = Nothing
    End If
End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

url 检查器 VBA,重定向时显示重定向的 url 的相关文章

  • 由于浏览器设置的标头,Safari 拒绝重定向的 CORS 请求

    Summary Safari 拒绝一些涉及重定向的 CORS 请求 声称某些标头是不允许的 但该标头从来不是由脚本请求的 而是由浏览器添加的 所以我认为这应该不重要 Safari 的行为是一个错误吗 规格有问题吗 或者 事情变成这样是有原因
  • 如何让VLOOKUP在VBA中选择到最低行?

    希望自动在单元格中插入 VLOOKUP 公式 录制宏时 我指示它使用相同的公式填充下面的列 效果很好 但是 当 VLOOKUP 搜索的表发生变化 更多或更少的行 时 就会出现问题 在记录时 VLOOKUP 下降到表中的最后一行 273 但是
  • VBA 中的多线程

    这里有人知道如何让VBA运行多线程吗 我正在使用 Excel 无法用 VBA 本地完成 VBA 构建在单线程单元中 获得多个线程的唯一方法是使用 VBA 之外的其他具有 COM 接口的东西构建 DLL 并从 VBA 调用它 信息 OLE 线
  • Office excel将CORS请求作为跨域请求

    我正在尝试从我的 Excel 插件发出跨域请求 正如这里所建议的 http dev office com docs add ins develop addressing same origin policy limitations http
  • 如何找到特定程序的安装目录?

    我已经成功地编写了一些用于工作的 VBA 宏 这些宏基本上创建了一个数据文件 将其提供给一个程序并对该程序的输出进行后处理 我的问题是程序安装路径是硬编码在宏中的 并且安装在我同事的计算机上可能会有所不同 我首先想到的是 我可以从每个人那里
  • ExpressJS - DELETE 请求后 res.redirect

    我一直在寻找如何执行此操作 我正在尝试在发出删除请求后重定向 这是我正在使用的代码没有重定向 exports remove function req res var postId req params id Post remove id p
  • 在合并的单元格中选择、插入照片并将其居中

    我是一名研发面包师 正在为我的团队制作食谱模板 模板中有照片 但我需要轻松地允许他们单击一个按钮 打开照片的文件选择器 然后将该照片放在合并的单元格中 我其实不太擅长做这个 Sub InsertPhotoMacro Dim photoNam
  • Apache 从子域重写为 www 但保留所有永久链接

    我已经研究了大约 2 个小时 虽然大多数主题都很相似 但没有一个解释如何做我想做的事情 我正在将一个结构为 blog domain com 的博客移至 www domain com blog 当我重定向时 我需要保留博客文章的永久链接 所以
  • JasperReports 中每个工作表属性一页

    我有一个要求 我必须在 JasperReports 中设计一个报告 该报告有 4 页 第一张纸有 5 页 类似的其他纸有一页或两页 我面临的问题是 如果我使用net sf jasperreports export xls one page
  • 两个日期之间的小时数在 Excel 中不起作用

    根据要求 我提供了一张简化的屏幕截图来说明该问题 如您所见 我减去了两个日期并将其格式化为 h mm ss 为什么这不能提供两个日期之间经过的总小时数 有一个更好的方法吗 下面有一个很好的答案 但我试图弄清楚为什么按照此屏幕截图中所示的方式
  • 使用输入作为显示日期的基础

    我需要一种方法来使用用户窗体上的输入来确定将在输出上显示的日期 这是我的代码 If StatusBox Value lt 23 59 And ShiftCode Value AP Then Cells emptyRow 8 Value Da
  • URL 中的 %2F 中断并且未引用所需的 .php 文件 [重复]

    这个问题在这里已经有答案了 我需要将 作为变量作为 URL 的一部分传递 我的结构如下所示 www domain com listings page 1 city Burnaby South type Townhome bedroom 2
  • 在VBA中初始化全局变量

    在 Excel 2003 中 如何声明全局变量并仅在打开工作簿时初始化它们一次 我有一些由几个宏使用的参数 基本上是输入文件的路径 目前 我的代码如下所示 global path1 path2 as string sub initPaths
  • 使用 FindElementbyXpath() 获取 Selenium Basic 中可填充框的行和列名称

    我正在使用 Selenium Basic 将电子表格中的文本填充到网站中 网站的html代码是这样的 div table cellspacing 0 border 1 style width 99 tr th style font weig
  • C# 无法将欧元符号打印到文件中(使用 Excel 打开时)

    我在使用 Web api 控制器的 get 方法时遇到问题 此方法返回一个 HttpResponseMessage 对象 该对象具有带有 csv 文件的 HttpContent 其中包含欧元符号 当该方法返回文件时 不会打印欧元符号 该方法
  • Excel 2003 中的 IFERROR

    我通过阅读几个线程了解到IFERROR在 Excel 2003 中由IF ISERROR 我尝试从 Excel 2007 复制的代码是 IFERROR A1 我知道必须有一个简单的解决方案将其转换为IF ISERROR 但我没有任何效果 意
  • 无法使用 VBA 代码从 Excel 连接到 Teradata - 无法通过网络访问 Teradata 服务器

    我一直在尝试使用 vba 代码从 Excel 连接到 Teradata 但收到以下错误 无法通过网络访问 Teradata Server 我已经能够从 Teradata SQL 助手成功连接 并且还成功 ping 通 Teradata 服务
  • AVAudioPlayer 无法从网站播放 m4a 或 mp3 文件类型

    我试图在我的应用程序中找到一个仅纯 m4a 声音的 URL 我有音频的 URL 理论上可以下载它 然后 使用下载的文件URL到声音 我尝试使用AVAudioPlayer播放它 但它不播放任何声音 这是我的代码 在 URL 检索函数中 我调用
  • 使用 XMLHTTP 进行抓取会在特定类名处引发错误

    我正在尝试使用此代码抓取网站以提取姓名和联系人 Sub Test Dim htmlDoc As Object Dim htmlDoc2 As Object Dim elem As Variant Dim tag As Variant Dim
  • 在 VBA 中捕获 shell 命令的输出值?

    发现这个功能http www cpearson com excel ShellAndWait aspx http www cpearson com excel ShellAndWait aspx 但我还需要捕获 shell 的输出 有什么代

随机推荐

  • 使用 jQuery 以像素为单位的填充或边距值作为整数

    jQuery 具有 height 和 width 函数 它们以整数形式返回像素的高度或宽度 如何获取元素的填充或边距值以像素和整数为单位使用 jQuery 我的第一个想法是执行以下操作 var padding parseInt jQuery
  • 需要帮助将格式 20120130 的日期转换为日期数据类型 oracle sql

    您能帮我将日期从 20120101 格式转换为 Orcle Sql 中的 DATE 格式吗 我看了这个link但它没有提到日期格式是否是自定义的 编辑 是否可以将任何排除规则写入转换函数 像这样的 99999999 到 9999 12 31
  • Firefox 浏览器不会重新加载更新的 CSS/JS 文件

    我在 Firefox 浏览器中遇到问题 因为每次更新 CSS 或 JS 文件时 我都需要清除 Firefox 浏览器的缓存才能获取更新的文件 我使用 XSP2 服务器是因为我在 ubuntu 中使用 C 和 asp net 开发了我的 we
  • Java真的很慢吗?

    Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 Java有在某种程度上因缓慢而闻名 Java真的很慢吗 如果是 为什么 瓶颈在 或曾经 在哪里 是因为 JVM 效率低下吗 垃圾收
  • array_unique() 是否通过引用修改其数组?

    我使用后array unique 在数组上 当我var dump 数组 它仍然具有相同的内容 但有重复 array 21 0 gt string 10 tricou CRS 1 gt string 10 tricou CRM 2 gt st
  • C 调用约定和传递参数

    在 Linux 或 OS X 中进行函数调用时 被调用者可以修改堆栈上参数的值吗 我的假设是 由于调用者是清理它们的人 因此它们在函数调用后应该包含相同的值 但是我发现带有 O2 的 GCC 正在修改在堆栈上传递给它的参数 我还查找了包括
  • 为什么 openCV 的 fastNlMeansDenoisingColored() 给出错误?

    我是菜鸟openCV概念 所以如果我的问题很愚蠢 请原谅我 实际上我正在尝试应用Photo fastNlMeansDenoisingColored 方法 但我不明白为什么它会给出这样的错误 Code Mat tmp new Mat bitm
  • 将 R 中的参数传递给多个实数变量的函数

    我是 R 的新手 需要解决多目标优化问题 MOOP 我已经导入了 mco 包 定义了我的函数并检查了 nsga2 函数 问题是 当前者与数字变量匹配时 我还没有找到绑定函数定义中的参数 形式参数 和调用中的参数 实际参数 的正确方法 我有以
  • xampp 上的 LDAP 配置

    我一直在尝试在 xampp localhost 上配置 ldap 我在 php ini 文件中启用了 ldap 扩展 我也尝试过更改系统变量 我不断收到此错误 LDAP 功能不存在 加载模块 ldap php 模块或使用编译有 ldap 支
  • UITabBarController 仅显示其 UITabBar 的一半(屏幕外)

    当我从 UIViewController 呈现 UITabBarController 后 我的 UITabBar 没有完全显示 请你告诉我我做错了什么吗 我的代码是 some method LoggedInViewController lv
  • R:熔化和铸造

    我有一个这样的数据集 CASE ID c C1 C1 C2 C2 C2 C3 C4 PERSON ID c 1 0 7 8 1 20 7 PERSON DIVISION c Zone 1 NA Zone 1 Zone 3 Zone 1 Zo
  • if($variable) 究竟是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 关于PHP中的if语句 在 PHP 脚本中 像这样的 if 语句检查什么 我已经多次看到它在脚本中使用 现在我真的很想知道它 寻找 什么 它没有缺少任何东西 它只是 if 语句中的一个普通变量 我在任
  • 在asp.net中显示按月和年分组的记录

    我需要按我的 asp net 页面上显示的日期 月和年 对记录进行排序 任何想法 建议都会有帮助 这是我目前拥有的代码 table width 40 border 0 style margin left auto margin right
  • 使用 pandas 转换 Excel 样式日期

    我必须解析一个 xml 文件 该文件为我提供 Excel 样式的日期时间 例如 42580 3333333333 Pandas 是否提供了一种将该数字转换为常规数字的方法datetime object 好吧 我认为最简单的事情就是构建一个T
  • 如何修复空指针异常

    我一直在尝试修复这个空指针异常 但我不能 我知道它指向一个空对象 但我不知道如何修复它 我是 Java 编程的初学者 所以如果这是一个愚蠢的问题 请不要生气 这是我的代码 import android app Activity import
  • 是漂亮计数器惯用语的错误还是格式不正确的静态订单惨败?

    以下代码在 clang 中崩溃 x86 64 pc linux gnu 上的版本 5 0 0 3 16 04 1 但在 gcc 9 2 0 中运行良好 struct Registry static int registerType int
  • 文件发布到文件系统后运行 Target

    我正在尝试创建发布配置文件 它将所有已发布的文件复制到各个文件夹 不幸的是我读到不可能直接通过publishUrl建议发布到一个文件夹并从中复制所有文件 我设法编写了复制目标功能 但目标运行的顺序是错误的 我尝试通过 构建 gt 发布 We
  • 从 ASP.NET MVC 3 开始,MicrosoftAjax.js、MicrosoftMvcAjax.js 和 MicrosoftMvcValidation.js 是否已过时?

    Are MicrosoftAjax js MicrosoftMvcAjax js and MicrosoftMvcValidation js从 ASP NET MVC 3 开始已过时 我在网上找不到太多关于此的信息 但从我读到的内容来看 这
  • 来自 bash shell 的 XMLA/SOAP 命令

    我需要从 bash shell 中调用 icCube 的管理 API 发送 SOAP 命令的最简单方法是什么
  • url 检查器 VBA,重定向时显示重定向的 url

    我对 EXCEL VBA 很陌生 我有点困于寻找一种方法来创建一个宏来显示 url 是否仍然处于活动状态 200 ok 或者可能会被重定向 如果是这样 我想知道到什么 URL 当它根本不起作用时 则返回正确的代码以及 URL 不起作用的原因