如何防止 Excel 对工作表中的链接发出未经授权的预请求?

如何防止 Excel 对工作表中的链接发出未经授权的预请求?

公式如下

=HYPERLINK(ALS.NB(VERT.ZOEKEN([@Module];Modules_tbl;2;ONWAAR);"")&[@IssueNr]; [@IssueNr])

动态图

经过一番挖掘,看起来它与会话有关。

我如何才能防止 Excel 发出这些未经授权(无会话)的请求?

答案1

分配给相应 IssueURL 的超链接很可能就是罪魁祸首。

您在屏幕截图中看到的 URL 是Comment,而不是实际 URL。当然,分配的 URL 也应该与 中的 URL 相匹配,Comment但由于各种原因,这种情况可能会发生变化。

调查问题的思路是,右键单击任意 IssueURL 列单元格,然后选择Edit Hyperlink查看超链接是否匹配。当然,检查您已确定存在此问题的任何单元格。

为了证明这是问题所在,请注意它发送给您的 URL 似乎是 https://etc.../396。显然,它不会匹配……而且您肯定会发现很多其他问题。这是一个 Excel 级别的问题,无法简单修复。这不是一个深层次的问题,而是由于 Excel 错误处理了模糊的排序命令或其他一些可以分离对象和它们分配到的单元格的命令。发生并保存后,无法撤消,因此没有简单的解决方案。

不过,对于你的情况,可能有一个相当简单的解决方案。URL 看起来是 URL 文本块,末尾有一个变量部分,该部分恰好是 IssuesNR 列中的值。因此,你可以为该 URL 字符串创建一个字符串,并将 Issues NR 值附加到末尾。然后,你创建的 URLHYPERLINK()将完全避免 IssuesURL 列及其损坏的信息:

=HYPERLINK(ALS.NB(VERT.ZOEKEN([@Module];Modules_tbl;2;ONWAAR);"")),"")&"https://git.proautnorm.com/configurators/profielnorm/configurator/-/issues/"&IssueNR,IssueNR)

对我来说很有用。(使用英文版 Excel 函数:我可能把改回你的函数搞砸了,但我想我做对了。)

另一种选择是,如果您对 VBA 有点了解,则可以编写一个宏,该宏会遍历表格,将分配给 IssuesURL 列单元格的 URL 更改为上述公式将分配的 URL。同样快速、简单,并且可以实现相同的结果。

自然,两者都假设 URL 应该是简单的开头字符串加上来自 IssueNR 单元格的变量值。

答案2

我创建了一小段代码来修复它,并且添加了一个托管版本供大家使用。

https://github.com/thomasmoors/excel-link-fixer

http://excel.gratisapi.nl/?url=

相关内容