将LibreOffice Calc URL转换为文本

时间:2012-04-17 12:14:51

标签: libreoffice-calc

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

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

2 个答案:

答案 0 :(得分:13)

您可以使用宏。

我唯一测试的is this one

如果您没有使用宏的经验,请参考以下步骤:

  1. 复制该链接提供的宏。
  2. ALT + F11打开宏管理器。
  3. 在“我的宏”下选择“模块1”,然后单击“编辑”
  4. 粘贴您复制的宏代码。
  5. 保存并关闭宏
  6. 现在,您可以访问标题为“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”,链接结束。


    更新

    网址似乎无法解析。幸运的是,有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”。

答案 1 :(得分:3)

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

首先,打开拉链包装的.ods;例如:

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

解压后,您可以查看./content.xml,并认识到所有网址都用双引号"括起来;因此我们可以编写以下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,您应该开始看到已放入文档的网址。