gpt4 book ai didi

excel - Excel 中的自动超链接?

转载 作者:行者123 更新时间:2023-12-01 23:08:01 24 4
gpt4 key购买 nike

我正在公开来自 SSAS 服务器的数据,用户可以通过他们喜欢的任何工具(实际上通常是 Excel 2007)连接到该服务器。我们希望在某些单元格中提供 URL,并希望 Excel 将这些识别为超链接并相应地激活和设置格式。

当我们将 URL 放入单元格时,它只是呈现为纯文本。如果您触摸该单元格并再次单击,Excel 会将其激活为链接。

如果您直接从 SQL 或 CSV 文件获取数据,也会发生相同的行为,我们在这里使用 SSAS 没有什么特别之处。

有谁知道如何使这些自动呈现为链接?我们无法控制电子表格的生成,因此宏已被淘汰。

编辑:

刚刚收到梅夫的回复。好点,但我忘了提及我们显示 URL 的位置位于钻取操作的目标中。

最佳答案

我认为如果没有宏,这是不可能的。

Excel 单元格中的超链接与单元格的值无关。它是与单元关联的单独对象。向单元格添加超链接的完整功能方法是通过 Excel 菜单项“插入”->“超链接”。

当用户输入“http://...”、“https://...”或“ftp://...”等值时添加超链接的事实只是一个GUI 快捷方式与“插入”->“超链接”具有相同的效果。在您的示例中,当用户“触摸”单元格时,他们实际上会在单元格中输入“http://...”值,并调用“插入”->“超链接”的 GUI 快捷方式。但是,当通过 VBA 或内置 Excel 功能(例如数据 -> 导入外部数据)以编程方式将值输入单元格时,不会调用该快捷方式。

因此,让这些任意数据导入在没有某种形式的宏的情况下将适当的值呈现为超链接确实是一个挑战。如果您可以说服用户安装一个简单的 Excel 加载项,您可以提供一个运行以下简单代码的菜单项:-

Dim cell as Range : For Each cell in Selection.Cells // could also use Range("A1").CurrentRegion.Cells or similar
If Left(cell.Value, 7) = "http://" Or Left(cell.Value, 8) = "https://" Or Left(cell.Value, 6) = "ftp://" Then
Call cell.HyperLinks.Add(cell, cell.Value)
End If
Next cell

用户可以在导入/刷新数据后调用此函数。显然它远非理想,因为它依赖于用户采取额外的步骤来呈现超链接。

关于excel - Excel 中的自动超链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2183334/

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