13

我有一个 LibreOffice 3 电子表格(在 Ubuntu 11.04 上),其中有一列包含数百个超链接,这些超链接仅显示为“链接”。

我需要将它们转换为纯文本,或者更糟糕的是显示超链接而不是文本“链接”的超链接。是否有一个函数可以做到这一点,或者可能有一个方法可以在整个电子表格中做到这一点?

4

3 回答 3

18

您可以使用宏。

我唯一测试过的是这个

如果您没有使用宏的经验,以下是所涉及的步骤:

  1. 复制该链接提供的宏。
  2. ALT + F11打开您的宏管理器。
  3. 在“我的宏”下选择“模块 1”并点击“编辑”
  4. 粘贴您复制的宏代码。
  5. 保存并关闭您的宏

现在,您可以访问一个名为“CELL_URL”的宏,您可以按如下方式使用它:

假设您的链接从“SHEET 1”上的“CELL A1”开始,我建议您转到新工作表,并在第一个单元格中输入:=CELL_URL("SHEET 1",ROW(),COLUMN())。然后,您可以根据数据的维度拖动该公式。

或者,另一个示例,假设您有一个包含 20 个链接的列,从“SHEET 1”上的“CELL B5”开始,并且您希望 URL 位于它旁边的列中(因此,从“CELL C5 "),在“CELL C5”中,输入公式如下:=CELL_URL("SHEET 1", ROW(), COLUMN()-1). 注意 -1. 这告诉函数从比当前位置少一列的单元格中提取 URL。然后,将公式从“CELL C5”拖到“CELL C24”,链接结束。


更新:

该 URL 似乎无法解析。幸运的是,有 WayBack 机器:http ://web.archive.org/web/20120713222701/http://www.oooforum.org/forum/viewtopic.phtml?t=32909

我还将宏作为要点发布:https ://gist.github.com/mrdwab/14c9e81dfbc867351bd3

CELL_URL()正如评论中所指出的,您在使用该功能时可能需要将“SHEET 1”更改为“Sheet1” 。

于 2012-04-23T11:22:50.993 回答
4

这是另一种方式,使用 Unix 命令行工具 - 完全绕过 Calc。

首先,解压缩您拥有的 .ods 作为 zip;例子:

$ cd /tmp
$ mkdir my_ods_unpack
$ cd my_ods_unpack
$ unzip /path/to/my.ods

解压后,你可以查看./content.xml,发现所有的 URL 都用双引号括起来";因此我们可以编写以下grep行:

$ grep -ro 'http[^"]*' .
./meta.xml:http://www.w3.org/1999/xlink
./meta.xml:http://purl.org/dc/elements/1.1/
./meta.xml:http://openoffice.org/2004/office
...

...一旦到达./content.xml,您应该开始看到已放入文档中的 URL。

于 2017-03-27T09:01:07.927 回答
0

如果您想将 URL 嵌入到 office calc 中的单元格中,您可以按如下方式访问它:

cell1.TextFields.getByIndex(0).URL

cell1 是使用 UNO 获得的单元格对象。

于 2022-01-13T19:33:31.263 回答